Failed to connect up the `destroy' signal in error_box(), causing
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Fri, 30 Jul 2004 12:16:57 +0000 (12:16 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Fri, 30 Jul 2004 12:16:57 +0000 (12:16 +0000)
gtk_main_quit not to get called, with the result that the whole game
ended up running one gtk_main level lower down. This meant that
final dialog box processing was not performed, so that (for example)
selecting 1x1 in Net, hitting OK and getting an error box, then
selecting a different size and hitting OK again failed to change to
the new size.

git-svn-id: svn://svn.tartarus.org/sgt/puzzles@4376 cda61777-01e9-0310-a592-d414129be87e

gtk.c

diff --git a/gtk.c b/gtk.c
index 3501f83..b2655b1 100644 (file)
--- a/gtk.c
+++ b/gtk.c
@@ -461,6 +461,8 @@ void error_box(GtkWidget *parent, char *msg)
     gtk_window_set_default(GTK_WINDOW(window), ok);
     gtk_signal_connect(GTK_OBJECT(ok), "clicked",
                        GTK_SIGNAL_FUNC(errmsg_button_clicked), window);
+    gtk_signal_connect(GTK_OBJECT(window), "destroy",
+                       GTK_SIGNAL_FUNC(window_destroy), NULL);
     gtk_signal_connect(GTK_OBJECT(window), "key_press_event",
                       GTK_SIGNAL_FUNC(win_key_press), ok);
     gtk_window_set_modal(GTK_WINDOW(window), TRUE);