From 002b69f8fe90108faacaf2f728814fe52ff35095 Mon Sep 17 00:00:00 2001 From: Timothy Lee Date: Fri, 11 Apr 2025 21:17:19 +1000 Subject: Fix "heap-use-after-free" in resize_after_screen_change() (#1248) When a native window is destroyed, make sure the callback to Fl_WinAPI_Window_Driver::resize_after_screen_change() is removed. Added by Albrecht-S: Thanks for the original fix to Timothy Lee (@timothytylee). src/drivers/X11/Fl_X11_Window_Driver.cxx: equivalent fix for X11 as discussed on GitHub PR #1248 --- src/drivers/X11/Fl_X11_Window_Driver.cxx | 1 + 1 file changed, 1 insertion(+) (limited to 'src/drivers/X11/Fl_X11_Window_Driver.cxx') diff --git a/src/drivers/X11/Fl_X11_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Window_Driver.cxx index b7e5da1ee..ee844aa03 100644 --- a/src/drivers/X11/Fl_X11_Window_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx @@ -58,6 +58,7 @@ Fl_X11_Window_Driver::Fl_X11_Window_Driver(Fl_Window *win) Fl_X11_Window_Driver::~Fl_X11_Window_Driver() { + Fl::remove_timeout(resize_after_screen_change, pWindow); if (shape_data_) { delete shape_data_->effective_bitmap_; delete shape_data_; -- cgit v1.2.3