Potential fix for AU window close crash.

This commit is contained in:
nick_m 2015-04-02 03:32:21 +11:00
parent a27e5e6cb8
commit c94d352f56
2 changed files with 12 additions and 6 deletions

View File

@ -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 ();
}
}
}

View File

@ -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 ();
}
}
}