summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--src/fe-gtk/fe-gtk.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/fe-gtk/fe-gtk.c b/src/fe-gtk/fe-gtk.c
index 35aff3b2..5df37779 100644
--- a/src/fe-gtk/fe-gtk.c
+++ b/src/fe-gtk/fe-gtk.c
@@ -300,11 +300,21 @@ fe_init (void)
 	input_style = create_input_style (gtk_style_new ());
 }
 
+#ifdef HAVE_GTK_MAC
+static void
+gtkosx_application_terminate (GtkosxApplication *app, gpointer userdata)
+{
+	hexchat_exit();
+}
+#endif
+
 void
 fe_main (void)
 {
 #ifdef HAVE_GTK_MAC
 	gtkosx_application_ready(osx_app);
+	g_signal_connect (G_OBJECT(osx_app), "NSApplicationWillTerminate",
+					G_CALLBACK(gtkosx_application_terminate), NULL);
 #endif
 
 	gtk_main ();