From 144c656360cc601a601d67f9a21a000327f6b509 Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Sat, 7 Nov 2015 00:11:45 +0000 Subject: 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 --- CHANGES | 1 + fluid/Fl_Widget_Type.cxx | 10 ++++++++-- 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