+static void ask_save_changes()
+{
+ GtkWidget *dialog;
+ dialog = gtk_dialog_new_with_buttons("Save Changes?",
+ GTK_WINDOW(main_window), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ NULL);
+
+ if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) {
+ file_save(NULL,NULL);
+ }
+ gtk_widget_destroy(dialog);
+}
+
+void on_destroy(GtkWidget* w, gpointer data)
+{
+ if (unsaved_changes())
+ ask_save_changes();
+ gtk_main_quit();
+}
+