From: Simon Tatham Date: Sat, 7 Apr 2012 22:19:18 +0000 (+0000) Subject: Fix redundant redrawing in Pegs. Apparently it has always redrawn X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=4f81608c40cdecec7448d97f4bbf7f01b524b963;p=sgt-puzzles.git Fix redundant redrawing in Pegs. Apparently it has always redrawn every single peg and hole on the board, every time it did any kind of redraw at all, because I forgot to update the array in the drawstate indicating the last-drawn state of each position. And nobody's noticed until now! [originally from svn r9447] --- diff --git a/pegs.c b/pegs.c index 4daa55f..d77860c 100644 --- a/pegs.c +++ b/pegs.c @@ -1237,6 +1237,7 @@ static void game_redraw(drawing *dr, game_drawstate *ds, game_state *oldstate, (bgcolour != ds->bgcolour || /* always redraw when flashing */ v != ds->grid[y*w+x])) { draw_tile(dr, ds, COORD(x), COORD(y), v, bgcolour); + ds->grid[y*w+x] = v; } }