summaryrefslogtreecommitdiff
path: root/amiga/theme.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2013-01-03 19:53:20 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2013-01-03 19:53:20 +0000
commit07024b05c4be91498245a3066fc3365259acf8bd (patch)
tree0f3d72734582d9490933abbb4ee9e1cdcaf8a06c /amiga/theme.c
parentdfc2fe6f970b50fc55b00b41e4c178fad2544770 (diff)
downloadnetsurf-07024b05c4be91498245a3066fc3365259acf8bd.tar.gz
netsurf-07024b05c4be91498245a3066fc3365259acf8bd.tar.bz2
Change the mouse pointer back to what it was (and what NetSurf thinks it is) instead of to the default pointer. Additionally don't use ami_update_pointer for treeview windows as AmigaOS has a pointer setting per window, but NetSurf is only storing the current one as a single global variable.
Diffstat (limited to 'amiga/theme.c')
-rw-r--r--amiga/theme.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/amiga/theme.c b/amiga/theme.c
index fce69eda3..52462c03c 100644
--- a/amiga/theme.c
+++ b/amiga/theme.c
@@ -174,12 +174,18 @@ void ami_get_theme_filename(char *filename, char *themestring, bool protocol)
void gui_window_set_pointer(struct gui_window *g, gui_pointer_shape shape)
{
- ami_update_pointer(g->shared->win,shape);
+ ami_update_pointer(g->shared->win, shape, false);
}
-void ami_update_pointer(struct Window *win, gui_pointer_shape shape)
+/* reset the mouse pointer back to what NetSurf last set it as */
+void ami_reset_pointer(struct Window *win)
{
- if(mouseptrcurrent == shape) return;
+ ami_update_pointer(win, mouseptrcurrent, true);
+}
+
+void ami_update_pointer(struct Window *win, gui_pointer_shape shape, bool reapply)
+{
+ if((mouseptrcurrent == shape) && (reapply == false)) return;
if(drag_save_data) return;
if(nsoption_bool(use_os_pointers))