[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33690] trunk/blender/source/blender/ windowmanager/intern/wm_event_system.c: change the cursor bounds to only use the Area if the mouse is outside the region or the region is not a WINDOW type .
Campbell Barton
ideasman42 at gmail.com
Wed Dec 15 17:46:59 CET 2010
Revision: 33690
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33690
Author: campbellbarton
Date: 2010-12-15 17:46:59 +0100 (Wed, 15 Dec 2010)
Log Message:
-----------
change the cursor bounds to only use the Area if the mouse is outside the region or the region is not a WINDOW type.
Modified Paths:
--------------
trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2010-12-15 16:15:52 UTC (rev 33689)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2010-12-15 16:46:59 UTC (rev 33690)
@@ -683,13 +683,23 @@
}
if(wrap) {
+ rcti *winrect= NULL;
+ ARegion *ar= CTX_wm_region(C);
ScrArea *sa= CTX_wm_area(C);
- if(sa) {
- bounds[0]= sa->totrct.xmin;
- bounds[1]= sa->totrct.ymax;
- bounds[2]= sa->totrct.xmax;
- bounds[3]= sa->totrct.ymin;
+
+ if(ar && ar->regiontype == RGN_TYPE_WINDOW && BLI_in_rcti(&ar->winrct, event->x, event->y)) {
+ winrect= &ar->winrct;
}
+ else if(sa) {
+ winrect= &sa->totrct;
+ }
+
+ if(winrect) {
+ bounds[0]= winrect->xmin;
+ bounds[1]= winrect->ymax;
+ bounds[2]= winrect->xmax;
+ bounds[3]= winrect->ymin;
+ }
}
WM_cursor_grab(CTX_wm_window(C), wrap, FALSE, bounds);
More information about the Bf-blender-cvs
mailing list