diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-10-05 00:33:23 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-10-05 00:33:23 +0000 |
commit | 17ebbb9d3f2f361479da8f150495ec0d773fe153 (patch) | |
tree | edd66e0e42ba4149a9c7d3ef525d857225aed470 /gtk2_ardour/utils.cc | |
parent | 1bded229ccb8e8976fcd702e5417c3565980d5c7 (diff) |
changes related to OS X main menu & accelerators, plus osx_build script
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2514 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/utils.cc')
-rw-r--r-- | gtk2_ardour/utils.cc | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc index 51d60bc998..1904df251e 100644 --- a/gtk2_ardour/utils.cc +++ b/gtk2_ardour/utils.cc @@ -334,6 +334,12 @@ set_color (Gdk::Color& c, int rgb) c.set_rgb((rgb >> 16)*256, ((rgb & 0xff00) >> 8)*256, (rgb & 0xff)*256); } +#ifdef GTKOSX +extern "C" { + gboolean gdk_quartz_possibly_forward (GdkEvent*); +} +#endif + bool key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev) { @@ -345,7 +351,6 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev) #ifdef DEBUG_ACCELERATOR_HANDLING bool debug = (getenv ("ARDOUR_DEBUG_ACCELERATOR_HANDLING") != 0); #endif - if (focus) { if (GTK_IS_ENTRY(focus) || Keyboard::some_magic_widget_has_focus()) { special_handling_of_unmodified_accelerators = true; @@ -441,6 +446,11 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev) cerr << "\tactivate, then propagate\n"; } #endif +#ifdef GTKOSX + if (gdk_quartz_possibly_forward ((GdkEvent*) ev)) { + return true; + } +#endif if (!gtk_window_activate_key (win, ev)) { return gtk_window_propagate_key_event (win, ev); } else { @@ -466,6 +476,11 @@ key_press_focus_accelerator_handler (Gtk::Window& window, GdkEventKey* ev) cerr << "\tpropagation didn't handle, so activate\n"; } #endif +#ifdef GTKOSX + if (gdk_quartz_possibly_forward ((GdkEvent*) ev)) { + return true; + } +#endif return gtk_window_activate_key (win, ev); } else { #ifdef DEBUG_ACCELERATOR_HANDLING |