Depsgraph: Accumulate object layers from all bases
This solves bug when same object is instanced from multiple bases.
This commit is contained in:
parent
8939787bfb
commit
527674b316
@ -397,12 +397,12 @@ void DepsgraphNodeBuilder::build_object(Scene *scene, Base *base, Object *ob)
|
||||
{
|
||||
if (ob->id.tag & LIB_TAG_DOIT) {
|
||||
IDDepsNode *id_node = m_graph->find_id_node(&ob->id);
|
||||
id_node->layers = base->lay;
|
||||
id_node->layers |= base->lay;
|
||||
return;
|
||||
}
|
||||
|
||||
IDDepsNode *id_node = add_id_node(&ob->id);
|
||||
id_node->layers = base->lay;
|
||||
id_node->layers |= base->lay;
|
||||
ob->customdata_mask = 0;
|
||||
|
||||
/* standard components */
|
||||
|
@ -181,6 +181,11 @@ void IDDepsNode::init(const ID *id, const string &UNUSED(subdata))
|
||||
this->layers = (1 << 20) - 1;
|
||||
this->eval_flags = 0;
|
||||
|
||||
/* For object we initialize layers to layer from base. */
|
||||
if (GS(id) == ID_OB) {
|
||||
this->layers = 0;
|
||||
}
|
||||
|
||||
components = BLI_ghash_new(id_deps_node_hash_key,
|
||||
id_deps_node_hash_key_cmp,
|
||||
"Depsgraph id components hash");
|
||||
|
Loading…
Reference in New Issue
Block a user