diff options
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_cycle.cc | 14 | ||||
-rw-r--r-- | source/blender/depsgraph/intern/node/deg_node_operation.cc | 11 |
2 files changed, 9 insertions, 16 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_cycle.cc b/source/blender/depsgraph/intern/builder/deg_builder_cycle.cc index af5c4e7130b..d11a60b77dd 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_cycle.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_cycle.cc @@ -182,20 +182,16 @@ void solve_cycles(CyclesSolverState *state) OperationNode *to = (OperationNode *)rel->to; eCyclicCheckVisitedState to_state = get_node_visited_state(to); if (to_state == NODE_IN_STACK) { - printf("Dependency cycle detected:\n"); - printf(" '%s' depends on '%s' through '%s'\n", - to->full_identifier().c_str(), - node->full_identifier().c_str(), - rel->name); + string cycle_str = " " + to->full_identifier() + " depends on\n " + + node->full_identifier() + " via '" + rel->name + "'\n"; StackEntry *current = entry; while (current->node != to) { BLI_assert(current != NULL); - printf(" '%s' depends on '%s' through '%s'\n", - current->node->full_identifier().c_str(), - current->from->node->full_identifier().c_str(), - current->via_relation->name); + cycle_str += " " + current->from->node->full_identifier() + " via '" + + current->via_relation->name + "'\n"; current = current->from; } + printf("Dependency cycle detected:\n%s", cycle_str.c_str()); Relation *sacrificial_relation = select_relation_to_murder(rel, entry); sacrificial_relation->flag |= RELATION_FLAG_CYCLIC; ++state->num_cycles; diff --git a/source/blender/depsgraph/intern/node/deg_node_operation.cc b/source/blender/depsgraph/intern/node/deg_node_operation.cc index 54a5ecef35c..154563303ad 100644 --- a/source/blender/depsgraph/intern/node/deg_node_operation.cc +++ b/source/blender/depsgraph/intern/node/deg_node_operation.cc @@ -208,14 +208,11 @@ string OperationNode::identifier() const * used for logging and debug prints. */ string OperationNode::full_identifier() const { - string owner_str = ""; - if (owner->type == NodeType::BONE) { - owner_str = string(owner->owner->name) + "." + owner->name; + string owner_str = owner->owner->name; + if (owner->type == NodeType::BONE || !owner->name.empty()) { + owner_str += "/" + owner->name; } - else { - owner_str = owner->owner->name; - } - return owner_str + "." + identifier(); + return owner_str + "/" + identifier(); } void OperationNode::tag_update(Depsgraph *graph, eUpdateSource source) |