Actually do what the comment says at the top of main() regarding not
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Fri, 28 Dec 2012 11:22:13 +0000 (11:22 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Fri, 28 Dec 2012 11:22:13 +0000 (11:22 +0000)
bombing out due to an option that we don't recognise but GTK will.
Somehow my basically workable plan had been completely nullified by
putting the error check in the wrong place.

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

gtk.c

diff --git a/gtk.c b/gtk.c
index 714d679..4222bd4 100644 (file)
--- a/gtk.c
+++ b/gtk.c
@@ -2655,11 +2655,6 @@ int main(int argc, char **argv)
        }
     }
 
-    if (*errbuf) {
-       fputs(errbuf, stderr);
-       return 1;
-    }
-
     /*
      * Special standalone mode for generating puzzle IDs on the
      * command line. Useful for generating puzzles to be printed
@@ -2687,6 +2682,16 @@ int main(int argc, char **argv)
        char *id;
        document *doc = NULL;
 
+        /*
+         * If we're in this branch, we should display any pending
+         * error message from the command line, since GTK isn't going
+         * to take another crack at making sense of it.
+         */
+        if (*errbuf) {
+            fputs(errbuf, stderr);
+            return 1;
+        }
+
        n = ngenerate;
 
        me = midend_new(NULL, &thegame, NULL, NULL);