ensure that all callers of ARDOUR_UI_UTILS::relay_key_press() provide a window
This commit is contained in:
parent
a47b3c4dc5
commit
ec65e351ac
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue