diff options
Diffstat (limited to 'amiga/gui.c')
-rw-r--r-- | amiga/gui.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/amiga/gui.c b/amiga/gui.c index bbd52bb10..0e07be020 100644 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -3888,6 +3888,8 @@ static void ami_redraw_callback(void *p) gui_window_place_caret(gwin->bw->window, gwin->bw->window->c_x, gwin->bw->window->c_y, gwin->bw->window->c_h, NULL); } + + gwin->redraw_scheduled = false; } /** @@ -3900,9 +3902,13 @@ static void ami_redraw_callback(void *p) void ami_schedule_redraw(struct gui_window_2 *gwin, bool full_redraw) { int cs = 0; + + if(full_redraw) gwin->redraw_required = true; + if(gwin->redraw_scheduled == true) return; + if(gwin->bw->reformat_pending) cs = nsoption_int(reformat_delay); schedule(cs, ami_redraw_callback, gwin); - if(full_redraw) gwin->redraw_required = true; + gwin->redraw_scheduled = true; } static void ami_do_redraw_tiled(struct gui_window_2 *gwin, bool busy, |