Fix fatal error on unsupported board size
authorH.G. Muller <h.g.muller@hccnet.nl>
Fri, 1 Mar 2013 11:50:06 +0000 (12:50 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Thu, 2 May 2013 12:54:29 +0000 (14:54 +0200)
When a board size unsupported by the engine was requested through the
New Variant dialog, this was discovered while the dialog was still up,
causing the error message to pop up as a child of the New Variant dialog,
so that it would immediately be taken down as the latter closed.
As a result it could not be confirmed, so that XBoard would not exit, and
was left in a pathologic state (ignoring window-close). This is fixed
by performing Reset (which detects the error) after PopDown of New Variant.

dialogs.c

index 5412018..bed4610 100644 (file)
--- a/dialogs.c
+++ b/dialogs.c
@@ -477,8 +477,8 @@ Pick (int n)
        appData.pieceToCharTable = NULL;
        appData.pieceNickNames = "";
        appData.colorNickNames = "";
-       Reset(True, True);
         PopDown(TransientDlg);
+       Reset(True, True);
         return;
 }