diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2013-10-12 14:27:16 +0100 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2013-10-12 14:27:16 +0100 |
commit | efc2d5e03b87d38ed71e6443f9afbc88f4b66f19 (patch) | |
tree | 81f3c17bad931232f6b83b39e93c09e93e794dcd /amiga/theme.c | |
parent | 9786cc241716b42891463ec6a47a10a5032bff7d (diff) | |
download | netsurf-efc2d5e03b87d38ed71e6443f9afbc88f4b66f19.tar.gz netsurf-efc2d5e03b87d38ed71e6443f9afbc88f4b66f19.tar.bz2 |
Delay the busy pointer again on intuition v53+
Diffstat (limited to 'amiga/theme.c')
-rw-r--r-- | amiga/theme.c | 80 |
1 files changed, 43 insertions, 37 deletions
diff --git a/amiga/theme.c b/amiga/theme.c index bb793a337..0778e296e 100644 --- a/amiga/theme.c +++ b/amiga/theme.c @@ -217,53 +217,59 @@ void ami_reset_pointer(struct gui_window_2 *gwin) void ami_update_pointer(struct Window *win, gui_pointer_shape shape) { if(drag_save_data) return; - if(IntuitionBase->LibNode.lib_Version >= 53) { - SetWindowPointer(win, WA_PointerType, osmouseptr[shape], TAG_DONE); - return; - } - if(nsoption_bool(os_mouse_pointers)) - { - switch(shape) + if(IntuitionBase->LibNode.lib_Version >= 53) { + BOOL ptr_delay = FALSE; + if(shape == GUI_POINTER_WAIT) ptr_delay = TRUE; + + SetWindowPointer(win, + WA_PointerType, osmouseptr[shape], + WA_PointerDelay, ptr_delay, + TAG_DONE); + } else { + if(nsoption_bool(os_mouse_pointers)) { - case GUI_POINTER_DEFAULT: - SetWindowPointer(win, TAG_DONE); - break; - - case GUI_POINTER_WAIT: - SetWindowPointer(win, - WA_BusyPointer, TRUE, - WA_PointerDelay, TRUE, - TAG_DONE); - break; - - default: - if(mouseptrobj[shape]) { - SetWindowPointer(win, WA_Pointer, mouseptrobj[shape], TAG_DONE); - } else { + switch(shape) + { + case GUI_POINTER_DEFAULT: SetWindowPointer(win, TAG_DONE); - } - break; - } - } - else - { - if(mouseptrobj[shape]) - { - SetWindowPointer(win, WA_Pointer, mouseptrobj[shape], TAG_DONE); + break; + + case GUI_POINTER_WAIT: + SetWindowPointer(win, + WA_BusyPointer, TRUE, + WA_PointerDelay, TRUE, + TAG_DONE); + break; + + default: + if(mouseptrobj[shape]) { + SetWindowPointer(win, WA_Pointer, mouseptrobj[shape], TAG_DONE); + } else { + SetWindowPointer(win, TAG_DONE); + } + break; + } } else { - if(shape == GUI_POINTER_WAIT) + if(mouseptrobj[shape]) { - SetWindowPointer(win, - WA_BusyPointer, TRUE, - WA_PointerDelay, TRUE, - TAG_DONE); + SetWindowPointer(win, WA_Pointer, mouseptrobj[shape], TAG_DONE); } else { - SetWindowPointer(win, TAG_DONE); + if(shape == GUI_POINTER_WAIT) + { + SetWindowPointer(win, + WA_BusyPointer, TRUE, + WA_PointerDelay, TRUE, + TAG_DONE); + } + else + { + SetWindowPointer(win, TAG_DONE); + } } } } |