diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index 9d8857d4119..5b8cd7e5d21 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -1504,6 +1504,11 @@ void DAG_scene_flush_update(Scene *sce, unsigned int lay) DagAdjList *itA; int lasttime; + if(sce->theDag==NULL) { + printf("DAG zero... not allowed to happen!\n"); + DAG_scene_sort(sce); + } + firstnode= sce->theDag->DagNode.first; // always scene node /* first we flush the layer flags */ diff --git a/source/blender/src/editscreen.c b/source/blender/src/editscreen.c index 541d353194e..412becf4068 100644 --- a/source/blender/src/editscreen.c +++ b/source/blender/src/editscreen.c @@ -75,6 +75,7 @@ #include "BKE_screen.h" #include "BIF_cursors.h" +#include "BIF_drawscene.h" #include "BIF_editsound.h" #include "BIF_glutil.h" #include "BIF_gl.h" @@ -2227,7 +2228,9 @@ void setscreen(bScreen *sc) sa->cursor= CURSOR_STD; } - G.scene= sc->scene; + if(G.scene!=sc->scene) + set_scene(sc->scene); + countall(); G.curscreen->winakt= 0;