[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26474] trunk/blender/source/blender/ windowmanager/intern: Fix snap to grid not taking the current grid resolution into

Brecht Van Lommel brecht at blender.org
Sun Jan 31 17:59:22 CET 2010


Revision: 26474
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26474
Author:   blendix
Date:     2010-01-31 17:59:21 +0100 (Sun, 31 Jan 2010)

Log Message:
-----------
Fix snap to grid not taking the current grid resolution into
account in quad split 3d view. Now WM_OP_EXEC/INVOKE_REGION_WIN
context stays in the current region if it is already a region
of type window, so the operator gets executed in the right context.

Modified Paths:
--------------
    trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
    trunk/blender/source/blender/windowmanager/intern/wm_keymap.c

Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2010-01-31 15:06:20 UTC (rev 26473)
+++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c	2010-01-31 16:59:21 UTC (rev 26474)
@@ -594,11 +594,12 @@
 			case WM_OP_EXEC_REGION_WIN:
 			case WM_OP_INVOKE_REGION_WIN: 
 			{
-				/* forces operator to go to the region window, for header menus */
+				/* forces operator to go to the region window, for header menus
+				   but we stay in the same region if we are already in one */
 				ARegion *ar= CTX_wm_region(C);
 				ScrArea *area= CTX_wm_area(C);
 				
-				if(area) {
+				if(!(ar && ar->regiontype == RGN_TYPE_WINDOW) && area) {
 					ARegion *ar1= area->regionbase.first;
 					for(; ar1; ar1= ar1->next)
 						if(ar1->regiontype==RGN_TYPE_WINDOW)

Modified: trunk/blender/source/blender/windowmanager/intern/wm_keymap.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_keymap.c	2010-01-31 15:06:20 UTC (rev 26473)
+++ trunk/blender/source/blender/windowmanager/intern/wm_keymap.c	2010-01-31 16:59:21 UTC (rev 26474)
@@ -475,10 +475,11 @@
 	if(found==NULL) {
 		if(ELEM(opcontext, WM_OP_EXEC_REGION_WIN, WM_OP_INVOKE_REGION_WIN)) {
 			if(sa) {
-				ARegion *ar= sa->regionbase.first;
-				for(; ar; ar= ar->next)
-					if(ar->regiontype==RGN_TYPE_WINDOW)
-						break;
+				if(!(ar && ar->regiontype == RGN_TYPE_WINDOW)) {
+					for(ar= sa->regionbase.first; ar; ar= ar->next)
+						if(ar->regiontype==RGN_TYPE_WINDOW)
+							break;
+				}
 
 				if(ar)
 					found= wm_keymap_item_find_handlers(C, &ar->handlers, opname, opcontext, properties, hotkey, compare_props, keymap_r);





More information about the Bf-blender-cvs mailing list