diff options
author | nick_m <mainsbridge@gmail.com> | 2015-04-02 02:41:49 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2015-04-02 02:41:49 +1100 |
commit | 35f69656e859cdd00ce28e29083788a91d3fbd5f (patch) | |
tree | b53ca99b60eff69381ffc85a6011d56aea412535 /gtk2_ardour/plugin_ui.cc | |
parent | 9a4827374ca4e4c310d02adf65c727d92b56724c (diff) |
Window focus handling fixes.
Many windows were not getting key events.
Use magic focus infrastructure (built for widgets) to deliver key events
via window focus in/out.
Diffstat (limited to 'gtk2_ardour/plugin_ui.cc')
-rw-r--r-- | gtk2_ardour/plugin_ui.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc index ea9dfaec75..9f22d1b54c 100644 --- a/gtk2_ardour/plugin_ui.cc +++ b/gtk2_ardour/plugin_ui.cc @@ -357,7 +357,10 @@ PluginUIWindow::on_key_press_event (GdkEventKey* event) if (_pluginui->non_gtk_gui()) { _pluginui->forward_key_event (event); } else { - return relay_key_press (event, this); + if (!relay_key_press (event, this)) { + return Window::on_key_press_event (event); + } + return true; } } return true; @@ -376,7 +379,10 @@ PluginUIWindow::on_key_press_event (GdkEventKey* event) */ return relay_key_press (event, &PublicEditor::instance()); } else { - return relay_key_press (event, this); + if (!relay_key_press (event, this)) { + return Window::on_key_press_event (event); + } + return true; } } else { return false; |