diff --git a/display-gtk.h b/display-gtk.h index 5dc616bf9..3e12d8051 100644 --- a/display-gtk.h +++ b/display-gtk.h @@ -65,6 +65,7 @@ extern const char *subsurface_icon_name(void); extern void subsurface_ui_setup(GtkSettings *settings, GtkWidget *menubar, GtkWidget *vbox, GtkUIManager *ui_manager); extern void quit(GtkWidget *w, gpointer data); +extern gboolean on_delete(GtkWidget* w, gpointer data); extern int is_default_dive_computer_device(const char *name); diff --git a/gtk-gui.c b/gtk-gui.c index 7a4f108ad..e4928e905 100644 --- a/gtk-gui.c +++ b/gtk-gui.c @@ -331,7 +331,7 @@ static void file_open(GtkWidget *w, gpointer data) gtk_widget_destroy(dialog); } -static gboolean on_delete(GtkWidget* w, gpointer data) +gboolean on_delete(GtkWidget* w, gpointer data) { /* Make sure to flush any modified dive data */ update_dive(NULL); diff --git a/macos.c b/macos.c index e989d96a5..f6557bf3d 100644 --- a/macos.c +++ b/macos.c @@ -79,8 +79,6 @@ int subsurface_fill_device_list(GtkListStore *store) GtkTreeIter iter; GDir *dev; const char *name; - char *buffer; - gsize length; dev = g_dir_open("/dev", 0, NULL); while (dev && (name = g_dir_read_name(dev)) != NULL) { @@ -206,7 +204,7 @@ void subsurface_ui_setup(GtkSettings *settings, GtkWidget *menubar, 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); + g_signal_connect(osx_app, "NSApplicationBlockTermination", G_CALLBACK(on_delete), NULL); gtk_osxapplication_ready(osx_app); }