diff options
Diffstat (limited to 'gtk2_ardour/ardour_window.cc')
-rw-r--r-- | gtk2_ardour/ardour_window.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gtk2_ardour/ardour_window.cc b/gtk2_ardour/ardour_window.cc index fc3ec84b0e..c15ca78c6b 100644 --- a/gtk2_ardour/ardour_window.cc +++ b/gtk2_ardour/ardour_window.cc @@ -94,9 +94,12 @@ void ArdourWindow::on_unmap () { if (Keyboard::some_magic_widget_has_focus()) { - Gtk::Window* win = static_cast<Gtk::Window*>(get_focus()->get_toplevel()); - if (win == Keyboard::get_current_window()) { - Keyboard::magic_widget_drop_focus (); + Gtk::Widget* widget = get_focus(); + if (widget) { + Gtk::Window* win = static_cast<Gtk::Window*>(get_focus()->get_toplevel()); + if (win == Keyboard::get_current_window()) { + Keyboard::magic_widget_drop_focus (); + } } } |