aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2012-04-07 22:19:18 +0000
committerSimon Tatham <anakin@pobox.com>2012-04-07 22:19:18 +0000
commit4f81608c40cdecec7448d97f4bbf7f01b524b963 (patch)
treebf832243823515f6352449fb74efd278772f0304
parente3f97413174f02298ab554cc07c7c521a654db2c (diff)
downloadpuzzles-4f81608c40cdecec7448d97f4bbf7f01b524b963.zip
puzzles-4f81608c40cdecec7448d97f4bbf7f01b524b963.tar.gz
puzzles-4f81608c40cdecec7448d97f4bbf7f01b524b963.tar.bz2
puzzles-4f81608c40cdecec7448d97f4bbf7f01b524b963.tar.xz
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]
-rw-r--r--pegs.c1
1 files changed, 1 insertions, 0 deletions
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;
}
}