X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=board.c;h=d5b4766ffba48c8a9433a084fe17d2b37d053953;hb=91078916c90ecc2ca02119c60ba154768176177c;hp=a0aa2fc79e54caf0b04df061c6033b7950c9b784;hpb=053dc1f79f78ff5d5d4d0f625f68a7d8076a30a0;p=xboard.git diff --git a/board.c b/board.c index a0aa2fc..d5b4766 100644 --- a/board.c +++ b/board.c @@ -5,7 +5,7 @@ * Massachusetts. * * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006, - * 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. + * 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. * * The following terms apply to Digital Equipment Corporation's copyright * interest in XBoard: @@ -163,7 +163,7 @@ SetHighlights (int fromX, int fromY, int toX, int toY) drawHighlight(hi2X, hi2Y, 0); } } - + if(arrow) // there currently is an arrow displayed ArrowDamage(hi1X, hi1Y, hi2X, hi2Y); // mark which squares it damaged @@ -953,7 +953,7 @@ DrawPosition (int repaint, Board board) DrawSquare(i, j, board[i][j], 0); if(damage[nr][i][j] & 2) { drawHighlight(j, i, 0); // repair arrow damage - damage[nr][i][j] = False; // this flushed the square as well + if(lineGap) damage[nr][i][j] = False; // this flushed the square as well } else damage[nr][i][j] = 1; // mark for expose } @@ -988,19 +988,19 @@ DrawPosition (int repaint, Board board) /* Draw highlights */ if (pm1X >= 0 && pm1Y >= 0) { drawHighlight(pm1X, pm1Y, 2); - damage[nr][pm1Y][pm1X] = False; + if(lineGap) damage[nr][pm1Y][pm1X] = False; } if (pm2X >= 0 && pm2Y >= 0) { drawHighlight(pm2X, pm2Y, 2); - damage[nr][pm2Y][pm2X] = False; + if(lineGap) damage[nr][pm2Y][pm2X] = False; } if (hi1X >= 0 && hi1Y >= 0) { drawHighlight(hi1X, hi1Y, 1); - damage[nr][hi1Y][hi1X] = False; + if(lineGap) damage[nr][hi1Y][hi1X] = False; } if (hi2X >= 0 && hi2Y >= 0) { drawHighlight(hi2X, hi2Y, 1); - damage[nr][hi2Y][hi2X] = False; + if(lineGap) damage[nr][hi2Y][hi2X] = False; } DrawArrowHighlight(hi1X, hi1Y, hi2X, hi2Y); } @@ -1242,5 +1242,3 @@ DrawArrowHighlight (int fromX, int fromY, int toX,int toY) if( IsDrawArrowEnabled() && fromX >= 0 && fromY >= 0 && toX >= 0 && toY >= 0) DrawArrowBetweenSquares(fromX, fromY, toX, toY); } - -