Fix possibly missing flushes back to copy-on-write operation

Could have happened if multiple tags per object happens.
This commit is contained in:
Sergey Sharybin
2017-08-29 16:28:06 +02:00
parent f846846941
commit 852d702da0

View File

@@ -137,7 +137,9 @@ void deg_graph_flush_updates(Main *bmain, Depsgraph *graph)
lib_id_recalc_tag(bmain, id_orig);
/* TODO(sergey): For until we've got proper data nodes in the graph. */
lib_id_recalc_data_tag(bmain, id_orig);
}
if (comp_node->done == 0) {
#ifdef WITH_COPY_ON_WRITE
/* Currently this is needed to get ob->mesh to be replaced with
* original mesh (rather than being evaluated_mesh).
@@ -150,9 +152,6 @@ void deg_graph_flush_updates(Main *bmain, Depsgraph *graph)
cow_comp->tag_update(graph);
}
#endif
}
if (comp_node->done == 0) {
Object *object = NULL;
if (GS(id_orig->name) == ID_OB) {
object = (Object *)id_orig;