diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-01-30 19:12:51 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-01-30 19:12:51 +0400 |
commit | 2a614b04c147d4095e0ac9f64ed6b00a9925359f (patch) | |
tree | e567dba8ca3bd3f712321526f51f8bd31fed8e2f | |
parent | ed8f690be741554e4083ca375fdca192dbab309a (diff) |
Fix #28733, #29885: fix missing scene in context in python. The window manager
would indirectly clear it when clearing the window from the context. This makes
some sense when we support multiple scenes properly, but currently there's still
many places assuming there is a single active scene, so keep it available to
avoid crashes.
-rw-r--r-- | source/blender/blenkernel/intern/context.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/context.c b/source/blender/blenkernel/intern/context.c index 9e9a0ca2d54..05c56fa8101 100644 --- a/source/blender/blenkernel/intern/context.c +++ b/source/blender/blenkernel/intern/context.c @@ -381,7 +381,8 @@ void CTX_wm_window_set(bContext *C, wmWindow *win) { C->wm.window= win; C->wm.screen= (win)? win->screen: NULL; - C->data.scene= (C->wm.screen)? C->wm.screen->scene: NULL; + if(C->wm.screen) + C->data.scene= C->wm.screen->scene; C->wm.area= NULL; C->wm.region= NULL; } @@ -389,7 +390,8 @@ void CTX_wm_window_set(bContext *C, wmWindow *win) void CTX_wm_screen_set(bContext *C, bScreen *screen) { C->wm.screen= screen; - C->data.scene= (C->wm.screen)? C->wm.screen->scene: NULL; + if(C->wm.screen) + C->data.scene= C->wm.screen->scene; C->wm.area= NULL; C->wm.region= NULL; } |