summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2019-03-27 12:33:00 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2019-03-27 12:33:00 +0100
commitb488b2c9d0c2581d04a9b84f72f9dc6003518e09 (patch)
tree4bc86211e19d87d823f32d777eec1b35cdc7dbfd /src
parenta6ea84487977dec4c291d92220a87756e9a1675f (diff)
Add further checks to avoid null pointer.
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Screen_Driver.cxx7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Fl_Screen_Driver.cxx b/src/Fl_Screen_Driver.cxx
index 43dbc144d..c3f62c03e 100644
--- a/src/Fl_Screen_Driver.cxx
+++ b/src/Fl_Screen_Driver.cxx
@@ -383,8 +383,11 @@ void Fl_Screen_Driver::transient_scale_display(float f, int nscreen)
win_and_widget *data = new win_and_widget;
data->win = win;
data->widget = Fl::focus();
- if (data->widget && data->widget->top_window()->user_data() == &transient_scale_display) {
- data->widget = 0;
+ if (data->widget) {
+ Fl_Window *top = data->widget->top_window();
+ if (!top || top->user_data() == &transient_scale_display) {
+ data->widget = 0;
+ }
}
win->show();
Fl::add_timeout(1, (Fl_Timeout_Handler)del_transient_window, data); // delete after 1 sec