[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56707] trunk/blender/source/blender/ blenkernel/intern: Fix material/ lamp drivers not working sometimes when they were used by multiple
Brecht Van Lommel
brechtvanlommel at pandora.be
Sun May 12 15:33:20 CEST 2013
Revision: 56707
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56707
Author: blendix
Date: 2013-05-12 13:33:20 +0000 (Sun, 12 May 2013)
Log Message:
-----------
Fix material/lamp drivers not working sometimes when they were used by multiple
objects, found while looking into another bug.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/depsgraph.c
trunk/blender/source/blender/blenkernel/intern/lamp.c
trunk/blender/source/blender/blenkernel/intern/material.c
Modified: trunk/blender/source/blender/blenkernel/intern/depsgraph.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/depsgraph.c 2013-05-12 13:16:11 UTC (rev 56706)
+++ trunk/blender/source/blender/blenkernel/intern/depsgraph.c 2013-05-12 13:33:20 UTC (rev 56707)
@@ -372,8 +372,8 @@
*/
if (ma->id.flag & LIB_DOIT)
return;
- else
- ma->id.flag |= LIB_DOIT;
+
+ ma->id.flag |= LIB_DOIT;
/* material itself */
if (ma->adt)
@@ -386,6 +386,8 @@
/* material's nodetree */
if (ma->nodetree)
dag_add_shader_nodetree_driver_relations(dag, node, ma->nodetree);
+
+ ma->id.flag &= ~LIB_DOIT;
}
/* recursive handling for lamp drivers */
@@ -397,8 +399,8 @@
*/
if (la->id.flag & LIB_DOIT)
return;
- else
- la->id.flag |= LIB_DOIT;
+
+ la->id.flag |= LIB_DOIT;
/* lamp itself */
if (la->adt)
@@ -411,6 +413,8 @@
/* lamp's nodetree */
if (la->nodetree)
dag_add_shader_nodetree_driver_relations(dag, node, la->nodetree);
+
+ la->id.flag &= ~LIB_DOIT;
}
static void dag_add_collision_field_relation(DagForest *dag, Scene *scene, Object *ob, DagNode *node, int skip_forcefield, bool no_collision)
Modified: trunk/blender/source/blender/blenkernel/intern/lamp.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/lamp.c 2013-05-12 13:16:11 UTC (rev 56706)
+++ trunk/blender/source/blender/blenkernel/intern/lamp.c 2013-05-12 13:33:20 UTC (rev 56707)
@@ -258,8 +258,8 @@
* in the meantime... [#32017] */
if (la->id.flag & LIB_DOIT)
return;
- else
- la->id.flag |= LIB_DOIT;
+
+ la->id.flag |= LIB_DOIT;
/* lamp itself */
if (la->adt && la->adt->drivers.first)
@@ -268,5 +268,7 @@
/* nodes */
if (la->nodetree)
lamp_node_drivers_update(scene, la->nodetree, ctime);
+
+ la->id.flag &= ~LIB_DOIT;
}
Modified: trunk/blender/source/blender/blenkernel/intern/material.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/material.c 2013-05-12 13:16:11 UTC (rev 56706)
+++ trunk/blender/source/blender/blenkernel/intern/material.c 2013-05-12 13:33:20 UTC (rev 56707)
@@ -1133,8 +1133,8 @@
*/
if (ma->id.flag & LIB_DOIT)
return;
- else
- ma->id.flag |= LIB_DOIT;
+
+ ma->id.flag |= LIB_DOIT;
/* material itself */
if (ma->adt && ma->adt->drivers.first) {
@@ -1145,6 +1145,8 @@
if (ma->nodetree) {
material_node_drivers_update(scene, ma->nodetree, ctime);
}
+
+ ma->id.flag &= ~LIB_DOIT;
}
/* ****************** */
More information about the Bf-blender-cvs
mailing list