[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24662] trunk/blender/source/blender/ windowmanager/intern/wm_cursors.c: Fix crash on Windows when clicking anywhere in a window.
Joshua Leung
aligorith at gmail.com
Wed Nov 18 22:01:05 CET 2009
Revision: 24662
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24662
Author: aligorith
Date: 2009-11-18 22:01:04 +0100 (Wed, 18 Nov 2009)
Log Message:
-----------
Fix crash on Windows when clicking anywhere in a window. Cursor grabbing code was missing checks for invalid tablet data.
Modified Paths:
--------------
trunk/blender/source/blender/windowmanager/intern/wm_cursors.c
Modified: trunk/blender/source/blender/windowmanager/intern/wm_cursors.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_cursors.c 2009-11-18 20:38:35 UTC (rev 24661)
+++ trunk/blender/source/blender/windowmanager/intern/wm_cursors.c 2009-11-18 21:01:04 UTC (rev 24662)
@@ -173,16 +173,22 @@
if(hide) mode = GHOST_kGrabHide;
else if(wrap) mode = GHOST_kGrabWrap;
- if ((G.f & G_DEBUG) == 0)
- if(win && (GHOST_GetTabletData(win->ghostwin)->Active == GHOST_kTabletModeNone))
- GHOST_SetCursorGrab(win->ghostwin, mode, bounds);
+ if ((G.f & G_DEBUG) == 0) {
+ if (win && win->ghostwin) {
+ const GHOST_TabletData *tabletdata= GHOST_GetTabletData(win->ghostwin);
+
+ if ((tabletdata) && (tabletdata->Active == GHOST_kTabletModeNone))
+ GHOST_SetCursorGrab(win->ghostwin, mode, bounds);
+ }
+ }
}
void WM_cursor_ungrab(wmWindow *win)
{
- if ((G.f & G_DEBUG) == 0)
+ if ((G.f & G_DEBUG) == 0) {
if(win && win->ghostwin)
GHOST_SetCursorGrab(win->ghostwin, GHOST_kGrabDisable, NULL);
+ }
}
/* afer this you can call restore too */
More information about the Bf-blender-cvs
mailing list