diff options
-rw-r--r-- | source/blender/blenkernel/intern/depsgraph.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c index ab6cf070a80..f9687880d16 100644 --- a/source/blender/blenkernel/intern/depsgraph.c +++ b/source/blender/blenkernel/intern/depsgraph.c @@ -610,6 +610,8 @@ static void build_dag_object(DagForest *dag, DagNode *scenenode, Object *ob, int if(part->draw_as == PART_DRAW_OB && part->dup_ob) { node2 = dag_get_node(dag, part->dup_ob); dag_add_relation(dag, node, node2, DAG_RL_OB_OB); + if(part->dup_ob->type == OB_MBALL) + dag_add_relation(dag, node, node2, DAG_RL_DATA_DATA); } if(part->draw_as == PART_DRAW_GR && part->dup_group) { diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 216ad101569..1f5b8c731e0 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -426,6 +426,9 @@ int next_object(int val, Base **base, Object **ob) duplilist= object_duplilist(G.scene, (*base)->object); dupob= duplilist->first; + + if(!dupob) + free_object_duplilist(duplilist); } } } |