forked from bartvdbraak/blender
Bugfix... very ancient one even. When you use multiple screens in a project
with each having different scenes, changing screens didn't call the proper set_scene() call, which left quite some stuff improperly initialized. With depsgraph code even causes crashing.
This commit is contained in:
parent
dd91048c06
commit
610a813c0c
@ -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 */
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user