summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2015-11-07 00:11:45 +0000
committerAlbrecht Schlosser <albrechts.fltk@online.de>2015-11-07 00:11:45 +0000
commit144c656360cc601a601d67f9a21a000327f6b509 (patch)
treeb7fec37294415e248066f007c3e857f5341db8b9
parentda6dff26fc8b44f942c0ce687499872cb00f5d27 (diff)
Fixed missing image release as described in STR #2840.
Thanks to OP (Nikego) and Matt! git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10888 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--CHANGES1
-rw-r--r--fluid/Fl_Widget_Type.cxx10
2 files changed, 9 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index 18f11d993..52ce9c9c5 100644
--- a/CHANGES
+++ b/CHANGES
@@ -54,6 +54,7 @@ CHANGES IN FLTK 1.3.4 RELEASED: ??? ?? ????
Bug fixes
+ - Fixed missing image release in fluid (STR #2840).
- Fixed out-of-bounds memory access in fluid (STR #3263).
- fluid doesn't output trailing white space in .fl files after
some statements anymore (STR #3239).
diff --git a/fluid/Fl_Widget_Type.cxx b/fluid/Fl_Widget_Type.cxx
index 55152a9f3..d2574921a 100644
--- a/fluid/Fl_Widget_Type.cxx
+++ b/fluid/Fl_Widget_Type.cxx
@@ -215,8 +215,14 @@ Fl_Widget_Type::~Fl_Widget_Type() {
}
if (subclass_) free((void*)subclass_);
if (tooltip_) free((void*)tooltip_);
- if (image_name_) free((void*)image_name_);
- if (inactive_name_) free((void*)inactive_name_);
+ if (image_name_) {
+ free((void*)image_name_);
+ if (image) image->decrement();
+ }
+ if (inactive_name_) {
+ free((void*)inactive_name_);
+ if (inactive) inactive->decrement();
+ }
for (int n=0; n<NUM_EXTRA_CODE; n++) {
if (extra_code_[n]) free((void*) extra_code_[n]);
}