? eel-dialog-delete-event.patch
? test/test-eel-pixbuf-scale
Index: eel/eel-stock-dialogs.c
===================================================================
RCS file: /cvs/gnome/eel/eel/eel-stock-dialogs.c,v
retrieving revision 1.19
diff -u -r1.19 eel-stock-dialogs.c
--- eel/eel-stock-dialogs.c	27 Apr 2002 23:03:23 -0000	1.19
+++ eel/eel-stock-dialogs.c	4 Jun 2002 22:18:23 -0000
@@ -320,16 +320,6 @@
 	timed_wait_free (wait);
 }
 
-static gboolean
-delete_event_callback (gpointer data,
-		       gpointer user_data)
-{
-	g_return_val_if_fail (GTK_IS_DIALOG (data), FALSE);
-	g_signal_stop_emission_by_name (G_OBJECT (data),
-					"delete_event");
-	return TRUE;
-}
-
 int
 eel_run_simple_dialog (GtkWidget *parent, gboolean ignore_close_box,
 		       const char *text, const char *title, ...)
@@ -365,15 +355,6 @@
 	}
 	va_end (button_title_args);
 	
-	/* Allow close. */
-	if (ignore_close_box) {
-		g_signal_connect (dialog,
-				    "delete_event",
-				    G_CALLBACK (delete_event_callback),
-				    NULL);
-
-	}
-	
 	gtk_window_set_wmclass (GTK_WINDOW (dialog), "dialog", "Eel");
 
 	/* Title it if asked to. */
@@ -382,7 +363,7 @@
 	/* Run it. */
         gtk_widget_show_all (dialog);
         result = gtk_dialog_run (GTK_DIALOG (dialog));
-	while (result == -1 && ignore_close_box) {
+	while ((result == GTK_RESPONSE_NONE || result == GTK_RESPONSE_DELETE_EVENT) && ignore_close_box) {
 		gtk_widget_show (GTK_WIDGET (dialog));
 		result = gtk_dialog_run (GTK_DIALOG (dialog));
 	}
