diff options
Diffstat (limited to 'amiga/gui.c')
-rwxr-xr-x | amiga/gui.c | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/amiga/gui.c b/amiga/gui.c index 0c31c7f68..43412704a 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -1435,7 +1435,7 @@ void ami_handle_msg(void) { ami_context_menu_mouse_trap(gwin, FALSE); - if(!gwin->mouse_state) ami_update_pointer(gwin->win, GUI_POINTER_DEFAULT, false); + if(!gwin->mouse_state) ami_set_pointer(gwin, GUI_POINTER_DEFAULT, true); } break; @@ -3599,12 +3599,6 @@ void ami_do_redraw_tiled(struct gui_window_2 *gwin, struct rect clip; int tile_x_scale = (int)(nsoption_int(redraw_tile_size_x) / gwin->bw->scale); int tile_y_scale = (int)(nsoption_int(redraw_tile_size_y) / gwin->bw->scale); - - /* Set the busy pointer. We intentionally don't use ami_update_pointer here. */ - SetWindowPointer(gwin->win, - WA_BusyPointer, TRUE, - WA_PointerDelay, TRUE, - TAG_DONE); browserglob.shared_pens = &gwin->shared_pens; @@ -3638,6 +3632,8 @@ void ami_do_redraw_tiled(struct gui_window_2 *gwin, // printf("%ld %ld %ld %ld\n",left, top, width, height); + ami_set_pointer(gwin, GUI_POINTER_WAIT, false); + for(y = top; y < (top + height); y += tile_y_scale) { clip.y0 = 0; clip.y1 = nsoption_int(redraw_tile_size_y); @@ -3674,7 +3670,7 @@ void ami_do_redraw_tiled(struct gui_window_2 *gwin, } } - ami_reset_pointer(gwin->win); + ami_reset_pointer(gwin); } @@ -3852,19 +3848,15 @@ void ami_do_redraw(struct gui_window_2 *gwin) clip.x1 = bbox->Left + bbox->Width; clip.y1 = bbox->Top + bbox->Height; - /* Set the busy pointer. We intentionally don't use ami_update_pointer here. */ - SetWindowPointer(gwin->win, - WA_BusyPointer, TRUE, - WA_PointerDelay, TRUE, - TAG_DONE); - + ami_set_pointer(gwin, GUI_POINTER_WAIT, false); + if(browser_window_redraw(gwin->bw, clip.x0 - hcurrent, clip.y0 - vcurrent, &clip, &ctx)) { ami_clearclipreg(&browserglob); browserglob.rp = temprp; } - ami_reset_pointer(gwin->win); + ami_reset_pointer(gwin); } } |