X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=dialogs.c;h=0c430ddb66a16610141ba82b408ce20acce16aa0;hb=40bd473b68412069ea05a386974828c8538ee27c;hp=fdf6d11298981982fad415c02295bae3accf979d;hpb=38aca841fff872e35d5aa5140b91e22df7e2825f;p=xboard.git diff --git a/dialogs.c b/dialogs.c index fdf6d11..0c430dd 100644 --- a/dialogs.c +++ b/dialogs.c @@ -2505,6 +2505,7 @@ Exp (int n, int x, int y) { static int but1, but3, oldW, oldH; int menuNr = -3, sizing, f, r; + TimeMark now; if(n == 0) { // motion if(SeekGraphClick(Press, x, y, 1)) return NULL; @@ -2518,6 +2519,7 @@ Exp (int n, int x, int y) return NULL; } if(n != 10 && PopDown(PromoDlg)) fromX = fromY = -1; // user starts fiddling with board when promotion dialog is up + else GetTimeMark(&now); shiftKey = ShiftKeys(); controlKey = (shiftKey & 0xC) != 0; shiftKey = (shiftKey & 3) != 0; @@ -2532,7 +2534,7 @@ Exp (int n, int x, int y) sizing = (oldW != x || oldH != y); oldW = x; oldH = y; InitDrawingHandle(mainOptions + W_BOARD); - if(sizing) return NULL; // don't redraw while sizing + if(sizing && SubtractTimeMarks(&now, &programStartTime) > 10000) return NULL; // don't redraw while sizing (except at startup) DrawPosition(True, NULL); default: return NULL;