summaryrefslogtreecommitdiff
path: root/src/Fl_File_Chooser2.cxx
diff options
context:
space:
mode:
authorMatthias Melcher <github@matthiasm.com>2024-01-14 01:42:05 +0100
committerMatthias Melcher <github@matthiasm.com>2024-01-14 01:42:05 +0100
commit5c90938aa3aa6dcb6f941e8f07937ae1d8951c17 (patch)
tree8682dfc4e8eab895c34e70652a9392e91247f664 /src/Fl_File_Chooser2.cxx
parentbe1c96b98ac71bd71aeb08066ef22ee57171da4c (diff)
#887: Fixes FLTK file chooser not releasing preview image.
...when hidden
Diffstat (limited to 'src/Fl_File_Chooser2.cxx')
-rw-r--r--src/Fl_File_Chooser2.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Fl_File_Chooser2.cxx b/src/Fl_File_Chooser2.cxx
index 94aed5f79..56cce9950 100644
--- a/src/Fl_File_Chooser2.cxx
+++ b/src/Fl_File_Chooser2.cxx
@@ -1551,6 +1551,14 @@ void Fl_File_Chooser::show()
if (!Fl::system_driver()->dot_file_hidden()) showHiddenButton->hide();
}
+void Fl_File_Chooser::hide() {
+ Fl::remove_timeout((Fl_Timeout_Handler)previewCB, this);
+ Fl_Shared_Image *oldimage = (Fl_Shared_Image*)previewBox->image();
+ if (oldimage) oldimage->release();
+ previewBox->image(NULL);
+ window->hide();
+}
+
void Fl_File_Chooser::showHidden(int value)
{
if (value) {