Fix #29220 & #29221: missing cycles updates when switching scenes.

This commit is contained in:
Brecht Van Lommel 2011-11-11 11:42:29 +00:00
parent 4ef2089097
commit eb7bccb39a

@ -59,6 +59,7 @@
#include "ED_screen_types.h" #include "ED_screen_types.h"
#include "ED_fileselect.h" #include "ED_fileselect.h"
#include "ED_clip.h" #include "ED_clip.h"
#include "ED_render.h"
#include "UI_interface.h" #include "UI_interface.h"
@ -1425,6 +1426,7 @@ void ED_screen_delete(bContext *C, bScreen *sc)
/* only call outside of area/region loops */ /* only call outside of area/region loops */
void ED_screen_set_scene(bContext *C, Scene *scene) void ED_screen_set_scene(bContext *C, Scene *scene)
{ {
Main *bmain= CTX_data_main(C);
bScreen *sc; bScreen *sc;
bScreen *curscreen= CTX_wm_screen(C); bScreen *curscreen= CTX_wm_screen(C);
@ -1484,9 +1486,10 @@ void ED_screen_set_scene(bContext *C, Scene *scene)
} }
CTX_data_scene_set(C, scene); CTX_data_scene_set(C, scene);
set_scene_bg(CTX_data_main(C), scene); set_scene_bg(bmain, scene);
ED_update_for_newframe(CTX_data_main(C), scene, curscreen, 1); ED_render_engine_changed(bmain);
ED_update_for_newframe(bmain, scene, curscreen, 1);
/* complete redraw */ /* complete redraw */
WM_event_add_notifier(C, NC_WINDOW, NULL); WM_event_add_notifier(C, NC_WINDOW, NULL);