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);
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs