From 2698fc9e9e29b9ef5578bf79bd4059616d9667d8 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Tue, 31 May 2005 08:50:42 +0000 Subject: 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] --- midend.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'midend.c') diff --git a/midend.c b/midend.c index e8bcd20..de20e14 100644 --- a/midend.c +++ b/midend.c @@ -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) -- cgit v1.1