diff options
| author | Simon Tatham <anakin@pobox.com> | 2005-05-31 08:50:42 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2005-05-31 08:50:42 +0000 |
| commit | 2698fc9e9e29b9ef5578bf79bd4059616d9667d8 (patch) | |
| tree | 3ca0fa043a3e6769365ab518837bf48b0d39186a /midend.c | |
| parent | ee429c13cd91a43609eb4688c7a20b5c5056662f (diff) | |
| download | puzzles-2698fc9e9e29b9ef5578bf79bd4059616d9667d8.zip puzzles-2698fc9e9e29b9ef5578bf79bd4059616d9667d8.tar.gz puzzles-2698fc9e9e29b9ef5578bf79bd4059616d9667d8.tar.bz2 puzzles-2698fc9e9e29b9ef5578bf79bd4059616d9667d8.tar.xz | |
GTK misfires timers at inconvenient moments, sometimes causing a new
puzzle of a different size to be redrawn before the pixmap is
resized, and since backends never redraw already-drawn stuff this is
a problem. Was biting me when I entered a Mines game ID of a
different size than the current settings into the Specific box.
[originally from svn r5872]
Diffstat (limited to 'midend.c')
| -rw-r--r-- | midend.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -132,6 +132,14 @@ static void midend_set_timer(midend_data *me) deactivate_timer(me->frontend); } +void midend_force_redraw(midend_data *me) +{ + if (me->drawstate) + me->ourgame->free_drawstate(me->drawstate); + me->drawstate = me->ourgame->new_drawstate(me->states[0].state); + midend_redraw(me); +} + void midend_new_game(midend_data *me) { while (me->nstates > 0) |