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 */


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to