summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/ardour_ui.cc2
-rw-r--r--gtk2_ardour/meterbridge.cc2
-rw-r--r--gtk2_ardour/monitor_section.cc2
-rw-r--r--gtk2_ardour/panner2d.cc2
-rw-r--r--gtk2_ardour/plugin_ui.cc4
-rw-r--r--gtk2_ardour/region_layering_order_editor.cc2
-rw-r--r--gtk2_ardour/step_entry.cc18
-rw-r--r--gtk2_ardour/utils.cc8
-rw-r--r--gtk2_ardour/utils.h2
9 files changed, 18 insertions, 24 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 6782442708..76bef4e1eb 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -5185,7 +5185,7 @@ ARDOUR_UI::key_event_handler (GdkEventKey* ev, Gtk::Window* event_window)
DEBUG_TRACE (DEBUG::Accelerators, string_compose ("main window key event, bindings = %1, global = %2\n", bindings, &global_bindings));
- } else if (event_window != 0) {
+ } else {
window = event_window;
diff --git a/gtk2_ardour/meterbridge.cc b/gtk2_ardour/meterbridge.cc
index be7fc4c47d..aa2046a948 100644
--- a/gtk2_ardour/meterbridge.cc
+++ b/gtk2_ardour/meterbridge.cc
@@ -256,7 +256,7 @@ Meterbridge::on_key_press_event (GdkEventKey* ev)
if (gtk_window_propagate_key_event (GTK_WINDOW(gobj()), ev)) {
return true;
}
- return relay_key_press (ev);
+ return relay_key_press (ev, this);
}
bool
diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc
index 2a7593c58c..f17f9feae8 100644
--- a/gtk2_ardour/monitor_section.cc
+++ b/gtk2_ardour/monitor_section.cc
@@ -467,7 +467,7 @@ MonitorSection::MonitorSection (Session* s)
_tearoff->tearoff_window().set_type_hint (Gdk::WINDOW_TYPE_HINT_NORMAL);
}
_tearoff->tearoff_window().set_title (X_("Monitor"));
- _tearoff->tearoff_window().signal_key_press_event().connect (sigc::bind (sigc::ptr_fun (relay_key_press), (Gtk::Window*) 0), false);
+ _tearoff->tearoff_window().signal_key_press_event().connect (sigc::bind (sigc::ptr_fun (relay_key_press), (Gtk::Window*) &_tearoff->tearoff_window()), false);
update_output_display ();
update_processor_box ();
diff --git a/gtk2_ardour/panner2d.cc b/gtk2_ardour/panner2d.cc
index f576a4ea00..4212456f75 100644
--- a/gtk2_ardour/panner2d.cc
+++ b/gtk2_ardour/panner2d.cc
@@ -1013,7 +1013,7 @@ Panner2dWindow::set_width ()
bool
Panner2dWindow::on_key_press_event (GdkEventKey* event)
{
- return relay_key_press (event, 0);
+ return relay_key_press (event, this);
}
bool
diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc
index 833055eff7..87c0202836 100644
--- a/gtk2_ardour/plugin_ui.cc
+++ b/gtk2_ardour/plugin_ui.cc
@@ -369,12 +369,12 @@ PluginUIWindow::on_key_press_event (GdkEventKey* event)
if (_pluginui) {
_pluginui->grab_focus();
if (_pluginui->non_gtk_gui()) {
- /* pass editor window as the window for the event
+ /* pass main window as the window for the event
to be handled in, not this one, because there are
no widgets in this window that we want to have
key focus.
*/
- return relay_key_press (event, 0);
+ return relay_key_press (event, &ARDOUR_UI::instance()->main_window());
} else {
return relay_key_press (event, this);
}
diff --git a/gtk2_ardour/region_layering_order_editor.cc b/gtk2_ardour/region_layering_order_editor.cc
index a8ab1d6904..8c05d2f081 100644
--- a/gtk2_ardour/region_layering_order_editor.cc
+++ b/gtk2_ardour/region_layering_order_editor.cc
@@ -222,7 +222,7 @@ RegionLayeringOrderEditor::on_key_press_event (GdkEventKey* ev)
}
if (!handled) {
- handled = relay_key_press (ev, 0);
+ handled = relay_key_press (ev, this);
}
if (!handled) {
diff --git a/gtk2_ardour/step_entry.cc b/gtk2_ardour/step_entry.cc
index 61b5584adb..51ccd8b649 100644
--- a/gtk2_ardour/step_entry.cc
+++ b/gtk2_ardour/step_entry.cc
@@ -496,26 +496,18 @@ StepEntry::on_key_press_event (GdkEventKey* ev)
forward to main window
*/
- if (!gtk_window_propagate_key_event (GTK_WINDOW(gobj()), ev)) {
- KeyboardKey k (ev->state, ev->keyval);
-
- if (bindings->activate (k, Bindings::Press)) {
- return true;
- }
+ if (gtk_window_propagate_key_event (GTK_WINDOW(gobj()), ev)) {
+ return true;
}
- return relay_key_press (ev);
+ return relay_key_press (ev, this);
}
bool
StepEntry::on_key_release_event (GdkEventKey* ev)
{
- if (!gtk_window_propagate_key_event (GTK_WINDOW(gobj()), ev)) {
- KeyboardKey k (ev->state, ev->keyval);
-
- if (bindings->activate (k, Bindings::Release)) {
- return true;
- }
+ if (gtk_window_propagate_key_event (GTK_WINDOW(gobj()), ev)) {
+ return true;
}
/* don't forward releases */
diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc
index 557804948c..589ec54794 100644
--- a/gtk2_ardour/utils.cc
+++ b/gtk2_ardour/utils.cc
@@ -311,9 +311,11 @@ ARDOUR_UI_UTILS::emulate_key_event (unsigned int keyval)
if (!gdk_keymap_get_entries_for_keyval(keymap, keyval, &keymapkey, &n_keys)) return false;
if (n_keys !=1) { g_free(keymapkey); return false;}
+ Gtk::Window& main_window (ARDOUR_UI::instance()->main_window());
+
GdkEventKey ev;
ev.type = GDK_KEY_PRESS;
- ev.window = ARDOUR_UI::instance()->main_window().get_window()->gobj();
+ ev.window = main_window.get_window()->gobj();
ev.send_event = FALSE;
ev.time = 0;
ev.state = 0;
@@ -324,9 +326,9 @@ ARDOUR_UI_UTILS::emulate_key_event (unsigned int keyval)
ev.group = keymapkey[0].group;
g_free(keymapkey);
- relay_key_press(&ev);
+ relay_key_press (&ev, &main_window);
ev.type = GDK_KEY_RELEASE;
- return relay_key_press(&ev);
+ return relay_key_press(&ev, &main_window);
}
string
diff --git a/gtk2_ardour/utils.h b/gtk2_ardour/utils.h
index 1c30172685..949cb8c6d5 100644
--- a/gtk2_ardour/utils.h
+++ b/gtk2_ardour/utils.h
@@ -67,7 +67,7 @@ void set_color_from_rgba (Gdk::Color&, uint32_t);
uint32_t gdk_color_to_rgba (Gdk::Color const&);
uint32_t contrasting_text_color (uint32_t c);
-bool relay_key_press (GdkEventKey* ev, Gtk::Window* win = 0);
+bool relay_key_press (GdkEventKey* ev, Gtk::Window* win);
bool key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev);
bool emulate_key_event (unsigned int);