diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2019-03-27 12:33:00 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2019-03-27 12:33:00 +0100 |
| commit | b488b2c9d0c2581d04a9b84f72f9dc6003518e09 (patch) | |
| tree | 4bc86211e19d87d823f32d777eec1b35cdc7dbfd /src/Fl_Screen_Driver.cxx | |
| parent | a6ea84487977dec4c291d92220a87756e9a1675f (diff) | |
Add further checks to avoid null pointer.
Diffstat (limited to 'src/Fl_Screen_Driver.cxx')
| -rw-r--r-- | src/Fl_Screen_Driver.cxx | 7 |
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 |
