From 29bee35112bcbcdbd40b37f6ddf33a785967602c Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Sat, 22 Jan 2011 18:00:11 +0000 Subject: Small fix from the todo: "Modal cursors" now remain visible, until reset. These cursors were reset already on edges. Example: 3d view toolbar, grease pencil. Do note, only use WM_cursor_modal() on real modal tools, and restore it at end. --- source/blender/windowmanager/intern/wm_cursors.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source/blender/windowmanager/intern/wm_cursors.c') diff --git a/source/blender/windowmanager/intern/wm_cursors.c b/source/blender/windowmanager/intern/wm_cursors.c index 6034ddce1b5..f0a416e1c6e 100644 --- a/source/blender/windowmanager/intern/wm_cursors.c +++ b/source/blender/windowmanager/intern/wm_cursors.c @@ -116,6 +116,9 @@ void WM_cursor_set(wmWindow *win, int curs) GHOST_SetCursorVisibility(win->ghostwin, 1); + if(curs == CURSOR_STD && win->modalcursor) + curs= win->modalcursor; + win->cursor= curs; /* detect if we use system cursor or Blender cursor */ @@ -141,11 +144,13 @@ void WM_cursor_modal(wmWindow *win, int val) { if(win->lastcursor == 0) win->lastcursor = win->cursor; + win->modalcursor = val; WM_cursor_set(win, val); } void WM_cursor_restore(wmWindow *win) { + win->modalcursor = 0; if(win->lastcursor) WM_cursor_set(win, win->lastcursor); win->lastcursor = 0; -- cgit v1.2.3