summaryrefslogtreecommitdiff
path: root/gtk2_ardour/utils.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-10-05 00:33:23 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-10-05 00:33:23 +0000
commit17ebbb9d3f2f361479da8f150495ec0d773fe153 (patch)
treeedd66e0e42ba4149a9c7d3ef525d857225aed470 /gtk2_ardour/utils.cc
parent1bded229ccb8e8976fcd702e5417c3565980d5c7 (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.cc17
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