From 1ae4b80027a97e8fbe553b980dc17ea540000d88 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Wed, 12 Sep 2012 09:18:56 -0700 Subject: Make sure Subsurface receives Quit / Command-Q callback on Mac As usual, things work slightly different on Mac. Quartz delivers some (but not all) accelerator notifications differently. Command-Q and Subsurface->Quit now work on Mac as well. Signed-off-by: Dirk Hohndel --- macos.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'macos.c') diff --git a/macos.c b/macos.c index f2e58338e..d37b0a925 100644 --- a/macos.c +++ b/macos.c @@ -104,6 +104,12 @@ const char *subsurface_default_filename() } } +static void show_main_window(GtkWidget *w, gpointer data) +{ + gtk_widget_show(main_window); + gtk_window_present(GTK_WINDOW(main_window)); +} + void subsurface_ui_setup(GtkSettings *settings, GtkWidget *menubar, GtkWidget *vbox, GtkUIManager *ui_manager) { @@ -141,5 +147,8 @@ void subsurface_ui_setup(GtkSettings *settings, GtkWidget *menubar, gtk_osxapplication_insert_app_menu_item (osx_app, sep, 3); gtk_osxapplication_set_use_quartz_accelerators(osx_app, TRUE); + g_signal_connect(osx_app,"NSApplicationDidBecomeActive",G_CALLBACK(show_main_window),NULL); + g_signal_connect(osx_app,"NSApplicationWillTerminate",G_CALLBACK(quit),NULL); + gtk_osxapplication_ready(osx_app); } -- cgit v1.2.3-70-g09d2