add OSC Lua bindings
[ardour.git] / gtk2_ardour / utils.cc
index 557804948c0238f1258869f85eb3b620e7a97c3c..854b6ef032780054d4ded33417a3886f6536952d 100644 (file)
@@ -54,6 +54,7 @@
 #include "gui_thread.h"
 #include "ui_config.h"
 #include "ardour_dialog.h"
+#include "ardour_ui.h"
 
 using namespace std;
 using namespace Gtk;
@@ -307,13 +308,15 @@ ARDOUR_UI_UTILS::emulate_key_event (unsigned int keyval)
        GdkKeymap   *keymap  = gdk_keymap_get_for_display (display);
        GdkKeymapKey *keymapkey = NULL;
        gint n_keys;
-       
+
        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 +327,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