diff options
author | Ton Roosendaal <ton@blender.org> | 2005-10-03 13:04:57 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-10-03 13:04:57 +0400 |
commit | 1af3055832a8a4b353a5fc7552b95cbd50f74cc8 (patch) | |
tree | 374dcff2ac311608cbe6dd4e2ee8064988544dc9 /source/blender/src/editview.c | |
parent | d9b04751589651719c7759744d83d51b90bad2f3 (diff) |
Bugfix #3046
When using 3d window "unlocked" (own layer and own camera possible), the
dependency updates didn't work, these were only using Scene layers.
Changed the dependency graph call DAG_scene_flush_update()
to accept an argument for all visible layers in a Screen.
Diffstat (limited to 'source/blender/src/editview.c')
-rw-r--r-- | source/blender/src/editview.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/src/editview.c b/source/blender/src/editview.c index 04a94edbce9..5651be4bb09 100644 --- a/source/blender/src/editview.c +++ b/source/blender/src/editview.c @@ -61,6 +61,7 @@ #include "BLI_editVert.h" #include "BKE_armature.h" +#include "BKE_depsgraph.h" #include "BKE_global.h" #include "BKE_lattice.h" #include "BKE_mesh.h" @@ -1004,6 +1005,7 @@ static unsigned int samplerect(unsigned int *buf, int size, unsigned int dontdo) void set_active_base(Base *base) { + Base *tbase; BASACT= base; @@ -1014,12 +1016,18 @@ void set_active_base(Base *base) set_active_group(); /* signal to ipo */ - if (base) { allqueue(REDRAWIPO, base->object->ipowin); allqueue(REDRAWACTION, 0); allqueue(REDRAWNLA, 0); } + /* disable temporal locks */ + for(tbase=FIRSTBASE; tbase; tbase= tbase->next) { + if(base!=tbase && (tbase->object->shapeflag & OB_SHAPE_TEMPLOCK)) { + tbase->object->shapeflag &= ~OB_SHAPE_TEMPLOCK; + DAG_object_flush_update(G.scene, tbase->object, OB_RECALC_DATA); + } + } } } |