[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25175] trunk/blender/source/blender: Flag down a window when cursor is grabbed.

Martin Poirier theeth at yahoo.com
Mon Dec 7 19:05:55 CET 2009


Revision: 25175
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25175
Author:   theeth
Date:     2009-12-07 19:05:51 +0100 (Mon, 07 Dec 2009)

Log Message:
-----------
Flag down a window when cursor is grabbed.

Modified Paths:
--------------
    trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h
    trunk/blender/source/blender/windowmanager/intern/wm_cursors.c

Modified: trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h	2009-12-07 17:55:58 UTC (rev 25174)
+++ trunk/blender/source/blender/makesdna/DNA_windowmanager_types.h	2009-12-07 18:05:51 UTC (rev 25175)
@@ -139,7 +139,10 @@
 	
 	void *ghostwin;		/* dont want to include ghost.h stuff */
 	
-	int winid, pad;		/* winid also in screens, is for retrieving this window after read */
+	int winid;		/* winid also in screens, is for retrieving this window after read */
+
+	short grabcursor; /* 1 if cursor is grabbed */
+	short pad;
 	
 	struct bScreen *screen;		/* active screen */
 	struct bScreen *newscreen;	/* temporary when switching */

Modified: trunk/blender/source/blender/windowmanager/intern/wm_cursors.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_cursors.c	2009-12-07 17:55:58 UTC (rev 25174)
+++ trunk/blender/source/blender/windowmanager/intern/wm_cursors.c	2009-12-07 18:05:51 UTC (rev 25175)
@@ -180,6 +180,8 @@
 				GHOST_SetCursorGrab(win->ghostwin, mode, bounds);
 			else if (tabletdata->Active == GHOST_kTabletModeNone)
 				GHOST_SetCursorGrab(win->ghostwin, mode, bounds);
+
+			win->grabcursor = 1;
 		}
 	}
 }
@@ -187,8 +189,10 @@
 void WM_cursor_ungrab(wmWindow *win)
 {
 	if ((G.f & G_DEBUG) == 0) {
-		if(win && win->ghostwin)
+		if(win && win->ghostwin) {
 			GHOST_SetCursorGrab(win->ghostwin, GHOST_kGrabDisable, NULL);
+			win->grabcursor = 0;
+		}
 	}
 }
 





More information about the Bf-blender-cvs mailing list