summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Fl_Help_View.cxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/Fl_Help_View.cxx b/src/Fl_Help_View.cxx
index daa0d43a6..3e2fee660 100644
--- a/src/Fl_Help_View.cxx
+++ b/src/Fl_Help_View.cxx
@@ -893,7 +893,10 @@ Fl_Help_View::draw()
if (img) {
img->draw(xx + x() - leftline_,
yy + y() - fl_height() + fl_descent() + 2);
- img->release();
+#if !defined(WIN32) && !defined(__APPLE__)
+ if ((void*)img != &broken_image)
+#endif
+ if(img->refcount()>0) img->release();
}
xx += ww;
@@ -2370,8 +2373,10 @@ Fl_Help_View::free_data() {
if (get_attr(attrs, "SRC", attr, sizeof(attr))) {
// Release the image twice to free it from memory...
img = get_image(attr, width, height);
- img->release();
- img->release();
+#if !defined(WIN32) && !defined(__APPLE__)
+ if ((void*)img!=&broken_image)
+#endif
+ while (img->refcount()>0) img->release();
}
}
}