summaryrefslogtreecommitdiff
path: root/amiga/gui.c
diff options
context:
space:
mode:
Diffstat (limited to 'amiga/gui.c')
-rw-r--r--amiga/gui.c8
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,