From b402b6a8397f9fc13157813d39d505ea9ead00f0 Mon Sep 17 00:00:00 2001 From: Albrecht Schlosser Date: Mon, 29 Apr 2024 16:32:13 +0200 Subject: Fix potential NULL pointer dereference ... as reported in thread "Windows 11 crash (still investigating)" of fltk.coredev, started on Apr 24, 2024. This bug could only be triggered if a /subwindow/ wss hidden but was not limited to Windows. --- src/Fl_Window.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/Fl_Window.cxx b/src/Fl_Window.cxx index bf2093118..38b3da521 100644 --- a/src/Fl_Window.cxx +++ b/src/Fl_Window.cxx @@ -592,8 +592,9 @@ int Fl_Window::handle(int ev) // unmap because when the parent window is remapped we don't // want to reappear. if (visible()) { - Fl_Widget* p = parent(); for (;p->visible();p = p->parent()) {} - if (p->type() >= FL_WINDOW) break; // don't do the unmap + Fl_Widget* p = parent(); + for (; p && p->visible(); p = p->parent()) { /* empty*/ } + if (p && p->as_window()) break; // don't do the unmap } pWindowDriver->unmap(); } -- cgit v1.2.3