Fix castling rights on using -lgf
authorH.G.Muller <hgm@hgm-xboard.(none)>
Fri, 29 Aug 2014 19:15:29 +0000 (21:15 +0200)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Fri, 29 Aug 2014 19:20:48 +0000 (21:20 +0200)
The dummy InitPosition to force loading pieces was taking place after
InitBackend2(), while the latter could have already loaded a game
from an -lgf argument (which would then be spoiled by the InitPosition).
It has been moved to before InitBackend2() now.

gtk/xboard.c
xaw/xboard.c

index e42f090..d6f47d7 100644 (file)
@@ -1152,6 +1152,9 @@ main (int argc, char **argv)
       BoardToTop();
     }
 
       BoardToTop();
     }
 
+    gameInfo.boardWidth = 0; // [HGM] pieces: kludge to ensure InitPosition() calls InitDrawingSizes()
+    InitPosition(TRUE);
+
     InitBackEnd2();
 
     if (errorExitStatus == -1) {
     InitBackEnd2();
 
     if (errorExitStatus == -1) {
@@ -1172,8 +1175,6 @@ main (int argc, char **argv)
        }
     }
 
        }
     }
 
-    gameInfo.boardWidth = 0; // [HGM] pieces: kludge to ensure InitPosition() calls InitDrawingSizes()
-    InitPosition(TRUE);
     UpdateLogos(TRUE);
 //    XtSetKeyboardFocus(shellWidget, formWidget);
 #ifdef TODO_GTK
     UpdateLogos(TRUE);
 //    XtSetKeyboardFocus(shellWidget, formWidget);
 #ifdef TODO_GTK
index 8d0fb24..ac57033 100644 (file)
@@ -1320,6 +1320,9 @@ main (int argc, char **argv)
       EngineOutputPopUp();
     }
 
       EngineOutputPopUp();
     }
 
+    gameInfo.boardWidth = 0; // [HGM] pieces: kludge to ensure InitPosition() calls InitDrawingSizes()
+    InitPosition(TRUE);
+
     InitBackEnd2();
 
     if (errorExitStatus == -1) {
     InitBackEnd2();
 
     if (errorExitStatus == -1) {
@@ -1340,8 +1343,6 @@ main (int argc, char **argv)
        }
     }
 
        }
     }
 
-    gameInfo.boardWidth = 0; // [HGM] pieces: kludge to ensure InitPosition() calls InitDrawingSizes()
-    InitPosition(TRUE);
     UpdateLogos(TRUE);
 //    XtSetKeyboardFocus(shellWidget, formWidget);
     XSetInputFocus(xDisplay, XtWindow(formWidget), RevertToPointerRoot, CurrentTime);
     UpdateLogos(TRUE);
 //    XtSetKeyboardFocus(shellWidget, formWidget);
     XSetInputFocus(xDisplay, XtWindow(formWidget), RevertToPointerRoot, CurrentTime);