X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=board.c;h=30cea29d4d2352ae944e241b3b3b8161fceba2a4;hb=58b79b90c17a718bdbc2176f20d4bc89adccebc9;hp=d89ff7d3770826976073e06e2f86ba5d61a7704a;hpb=dc665d20f1fa64bcbecc86a640151b329b6a6ccb;p=xboard.git diff --git a/board.c b/board.c index d89ff7d..30cea29 100644 --- a/board.c +++ b/board.c @@ -1043,7 +1043,7 @@ DrawPosition (int repaint, Board board) SquareExpose(i, j, lineGap); else SquareExpose(i, j, 0); - damage[nr][i][j] = 0; + if(nr == 0) damage[nr][i][j] = 0; // on auxiliary board we retain arrow damage } } @@ -1052,10 +1052,19 @@ DrawPosition (int repaint, Board board) else { TimeMark now; GetTimeMark(&now); - if(SubtractTimeMarks(&now, &programStartTime) < 1000) { - DrawSeekBackground(2*squareSize, 3*squareSize, 6*squareSize, 5*squareSize); - DrawText("Right-clicking dialog texts", 2*squareSize + 5, 3*squareSize + 5, 2); - DrawText("pops up help on them", 2*squareSize + 5, (int) (3.3*squareSize) + 5, 2); + if(repaint && SubtractTimeMarks(&now, &programStartTime) < 1000) { + char *p = appData.message, *q; + i = 0; + while(*p) { + q = strchr(p, '\n'); + if(q) *q = NULLCHAR; + if(!strstr(appData.suppress, p)) { + if(i == 0) DrawSeekBackground(2*squareSize, 3*squareSize, 6*squareSize, 5*squareSize); + DrawText(p, 2*squareSize + 5, (int) ((3 + 0.3*i++)*squareSize) + 5, 2); + } + if(q) *q++ = '\n'; else q = ""; + p = q; + } GraphExpose(currBoard, 2*squareSize, 3*squareSize, 4*squareSize, 2*squareSize); messedUp = TRUE; } else messedUp = FALSE;