From 5eab3b079f939c4c0cc0c84f9bf8c5dcb0c0b77f Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 21 Nov 2016 12:00:09 +0100 Subject: Depsgraph: Fix infinite viewport object update in CYcles render mode The issue was caused by wrong object re-tag needed to have proper dependnecies update for OpenSubdiv. --- source/blender/depsgraph/intern/builder/deg_builder.cc | 2 ++ source/blender/depsgraph/intern/depsgraph.cc | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'source/blender') diff --git a/source/blender/depsgraph/intern/builder/deg_builder.cc b/source/blender/depsgraph/intern/builder/deg_builder.cc index 51d1e08d70a..aedd00685b3 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder.cc @@ -48,6 +48,8 @@ #include "util/deg_util_foreach.h" +#include + namespace DEG { string deg_fcurve_id_name(const FCurve *fcu) diff --git a/source/blender/depsgraph/intern/depsgraph.cc b/source/blender/depsgraph/intern/depsgraph.cc index 3502267d9ca..9a4a35a5a35 100644 --- a/source/blender/depsgraph/intern/depsgraph.cc +++ b/source/blender/depsgraph/intern/depsgraph.cc @@ -371,8 +371,7 @@ DepsRelation *Depsgraph::add_new_relation(OperationDepsNode *from, if (comp_node->type == DEPSNODE_TYPE_GEOMETRY) { IDDepsNode *id_to = to->owner->owner; IDDepsNode *id_from = from->owner->owner; - Object *object_to = (Object *)id_to->id; - if (id_to != id_from && (object_to->recalc & OB_RECALC_ALL)) { + if (id_to != id_from && (id_to->id->tag & LIB_TAG_ID_RECALC_ALL)) { if ((id_from->eval_flags & DAG_EVAL_NEED_CPU) == 0) { id_from->tag_update(this); id_from->eval_flags |= DAG_EVAL_NEED_CPU; -- cgit v1.2.3