summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/widgets/desktop-widget.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp
index be477baf4..99f24f818 100644
--- a/src/widgets/desktop-widget.cpp
+++ b/src/widgets/desktop-widget.cpp
@@ -878,6 +878,19 @@ sp_desktop_widget_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
}
}
+#ifdef GDK_WINDOWING_QUARTZ
+static GtkMenuItem *_get_help_menu(GtkMenuShell *menu)
+{
+ // Assume "Help" is the last child in menu
+ GtkMenuItem *last = nullptr;
+ auto callback = [](GtkWidget *widget, gpointer data) {
+ *static_cast<GtkMenuItem **>(data) = GTK_MENU_ITEM(widget);
+ };
+ gtk_container_foreach(GTK_CONTAINER(menu), callback, &last);
+ return last;
+}
+#endif
+
/**
* Callback to realize desktop widget.
*/
@@ -939,6 +952,7 @@ sp_desktop_widget_realize (GtkWidget *widget)
menushell->set_parent(*window);
gtkosx_application_set_menu_bar(osxapp, menushell->gobj());
gtkosx_application_set_use_quartz_accelerators(osxapp, false);
+ gtkosx_application_set_help_menu(osxapp, _get_help_menu(menushell->gobj()));
gtkosx_application_set_window_menu(osxapp, nullptr);
}
#endif