X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gtk%2Fxboard.c;h=d6f47d7ff7a5fe7fa02b29b587cb573b5986926a;hb=189b48237361df4f482800f6e17a52f11595c08a;hp=1b3d58f138d74c1804ff9e9224d3fc4de7af7a7a;hpb=784a0a8b299157e7bdb55c87ca05ba7c86b6fc95;p=xboard.git diff --git a/gtk/xboard.c b/gtk/xboard.c index 1b3d58f..d6f47d7 100644 --- a/gtk/xboard.c +++ b/gtk/xboard.c @@ -1152,6 +1152,9 @@ main (int argc, char **argv) BoardToTop(); } + gameInfo.boardWidth = 0; // [HGM] pieces: kludge to ensure InitPosition() calls InitDrawingSizes() + InitPosition(TRUE); + 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 @@ -1554,11 +1555,13 @@ ReSize (WindowPlacement *wp) int sqx, sqy, w, h, hc, lg = lineGap; gtk_widget_get_allocation(optList[W_WHITE].handle, &a); hc = a.height; // clock height can depend on single / double line clock text! - wp->height = BOARD_HEIGHT * (squareSize + lineGap) + lineGap + marginH + hc; + if(clockKludge && hc != clockKludge) wp->height += hc - clockKludge, clockKludge = 0; + wpMain.height = BOARD_HEIGHT * (squareSize + lineGap) + lineGap + marginH + hc; if(wp->width == wpMain.width && wp->height == wpMain.height) return; // not sized sqx = (wp->width - lg - marginW) / BOARD_WIDTH - lg; sqy = (wp->height - lg - marginH - hc) / BOARD_HEIGHT - lg; if(sqy < sqx) sqx = sqy; + if(sqx < 20) return; if(appData.overrideLineGap < 0) { // do second iteration with adjusted lineGap lg = lineGap = sqx < 37 ? 1 : sqx < 59 ? 2 : sqx < 116 ? 3 : 4; sqx = (wp->width - lg - marginW) / BOARD_WIDTH - lg; @@ -1566,7 +1569,6 @@ ReSize (WindowPlacement *wp) if(sqy < sqx) sqx = sqy; } if(sqx != squareSize) { -//printf("new sq size %d (%dx%d)\n", sqx, wp->width, wp->height); squareSize = sqx; // adopt new square size CreatePNGPieces(); // make newly scaled pieces InitDrawingSizes(0, 0); // creates grid etc.