diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-05-02 18:22:22 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-05-02 18:22:22 +0400 |
commit | 30c2abd32326f856f3ea45589c0a2e02b71536ed (patch) | |
tree | fddcde8246c6ae1073a84c051e52034a8e9ee213 /source/blender/blenkernel/intern/context.c | |
parent | 3224ac738ee3aeb13ad1329b12621ff0f0e3a322 (diff) |
Fixes for recent cycles and python/context commits.
Diffstat (limited to 'source/blender/blenkernel/intern/context.c')
-rw-r--r-- | source/blender/blenkernel/intern/context.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/context.c b/source/blender/blenkernel/intern/context.c index 75573246122..bd47e7cbd37 100644 --- a/source/blender/blenkernel/intern/context.c +++ b/source/blender/blenkernel/intern/context.c @@ -427,6 +427,9 @@ ListBase CTX_data_dir_get(const bContext *C) { bContextDataResult result; ListBase lb; + bScreen *sc; + ScrArea *sa; + ARegion *ar; int a; memset(&lb, 0, sizeof(lb)); @@ -437,24 +440,24 @@ ListBase CTX_data_dir_get(const bContext *C) for (entry=C->wm.store->entries.first; entry; entry=entry->next) data_dir_add(&lb, entry->name); } - if (C->wm.region && C->wm.region->type && C->wm.region->type->context) { + if ((ar=CTX_wm_region(C)) && ar->type && ar->type->context) { memset(&result, 0, sizeof(result)); - C->wm.region->type->context(C, "", &result); + ar->type->context(C, "", &result); if (result.dir) for (a=0; result.dir[a]; a++) data_dir_add(&lb, result.dir[a]); } - if (C->wm.area && C->wm.area->type && C->wm.area->type->context) { + if ((sa=CTX_wm_area(C)) && sa->type && sa->type->context) { memset(&result, 0, sizeof(result)); - C->wm.area->type->context(C, "", &result); + sa->type->context(C, "", &result); if (result.dir) for (a=0; result.dir[a]; a++) data_dir_add(&lb, result.dir[a]); } - if (C->wm.screen && C->wm.screen->context) { - bContextDataCallback cb= C->wm.screen->context; + if ((sc=CTX_wm_screen(C)) && sc->context) { + bContextDataCallback cb= sc->context; memset(&result, 0, sizeof(result)); cb(C, "", &result); @@ -599,9 +602,11 @@ View3D *CTX_wm_view3d(const bContext *C) RegionView3D *CTX_wm_region_view3d(const bContext *C) { ScrArea *sa = CTX_wm_area(C); + ARegion *ar = CTX_wm_region(C); + if (sa && sa->spacetype==SPACE_VIEW3D) - if (C->wm.region) - return C->wm.region->regiondata; + if (ar) + return ar->regiondata; return NULL; } |