summaryrefslogtreecommitdiff
path: root/gtk2_ardour/ardour_dialog.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/ardour_dialog.cc')
-rw-r--r--gtk2_ardour/ardour_dialog.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/gtk2_ardour/ardour_dialog.cc b/gtk2_ardour/ardour_dialog.cc
index 423cab0a30..12d595b0b0 100644
--- a/gtk2_ardour/ardour_dialog.cc
+++ b/gtk2_ardour/ardour_dialog.cc
@@ -89,9 +89,12 @@ void
ArdourDialog::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 ();
+ }
}
}