Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2009-02-16 18:08:06 +0300
committerTon Roosendaal <ton@blender.org>2009-02-16 18:08:06 +0300
commit3b6218405b90395cf59e725ebf678cd198d03dc6 (patch)
tree2204f2197e512a3e5751d03cbc7ea88b243a35a9 /source/blender/windowmanager
parent27d52217cafd1cd50fae354b3b3b16b0649f3b1c (diff)
2.5
Some small fixes: - handler operator exec gave too quick a warning for invalid area (set area context to NULL is OK :) - 4-split 3D view with clip option didn't reset clip when 4-split was disabled - creating a new 3d view didn't initialize buttons region correct.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c32
1 files changed, 18 insertions, 14 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 80cef611974..804c8e6b828 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -468,22 +468,26 @@ static void wm_handler_op_context(bContext *C, wmEventHandler *handler)
bScreen *screen= CTX_wm_screen(C);
if(screen && handler->op) {
- ScrArea *sa;
-
- for(sa= screen->areabase.first; sa; sa= sa->next)
- if(sa==handler->op_area)
- break;
- if(sa==NULL)
- printf("internal error: handler (%s) has invalid area\n", handler->op->type->idname);
+ if(handler->op_area==NULL)
+ CTX_wm_area_set(C, NULL);
else {
- ARegion *ar;
- CTX_wm_area_set(C, sa);
- for(ar= sa->regionbase.first; ar; ar= ar->next)
- if(ar==handler->op_region)
+ ScrArea *sa;
+
+ for(sa= screen->areabase.first; sa; sa= sa->next)
+ if(sa==handler->op_area)
break;
- /* XXX no warning print here, after full-area and back regions are remade */
- if(ar)
- CTX_wm_region_set(C, ar);
+ if(sa==NULL)
+ printf("internal error: handler (%s) has invalid area\n", handler->op->type->idname);
+ else {
+ ARegion *ar;
+ CTX_wm_area_set(C, sa);
+ for(ar= sa->regionbase.first; ar; ar= ar->next)
+ if(ar==handler->op_region)
+ break;
+ /* XXX no warning print here, after full-area and back regions are remade */
+ if(ar)
+ CTX_wm_region_set(C, ar);
+ }
}
}
}