diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-04 19:36:00 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-04 19:36:00 +0400 |
commit | 601e5ad2f44bb73e58fb9465f75e969a4160fe7e (patch) | |
tree | 68e950619180978a761775301e89e30098404deb /source/blender/windowmanager/intern/wm_window.c | |
parent | 3fe117bd3dd1cf37ded1a08eab472e71c6f60713 (diff) |
Fix #35624: rendering to a new window, then switching scene in the main window,
would still continue to render the previous scene in the render window on F12.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_window.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_window.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index d7379d426ce..b7977fa2c4e 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -525,6 +525,7 @@ void WM_window_open_temp(bContext *C, rcti *position, int type) { wmWindow *win; ScrArea *sa; + Scene *scene = CTX_data_scene(C); /* changes rect to fit within desktop */ wm_window_check_position(position); @@ -550,9 +551,16 @@ void WM_window_open_temp(bContext *C, rcti *position, int type) wm_window_raise(win); } - /* add new screen? */ - if (win->screen == NULL) - win->screen = ED_screen_add(win, CTX_data_scene(C), "temp"); + if (win->screen == NULL) { + /* add new screen */ + win->screen = ED_screen_add(win, scene, "temp"); + } + else { + /* switch scene for rendering */ + if (win->screen->scene != scene) + ED_screen_set_scene(C, win->screen, scene); + } + win->screen->temp = 1; /* make window active, and validate/resize */ |