From 4a95c3466fafcd3e9116cd0d7fdcc63f2dc38bd2 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Wed, 2 Mar 2022 14:12:08 +0100 Subject: [PATCH] Fix T96085: repeated evaluation of geometry nodes when nothing changed Differential Revision: https://developer.blender.org/D14216 --- .../editors/space_spreadsheet/spreadsheet_context.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/source/blender/editors/space_spreadsheet/spreadsheet_context.cc b/source/blender/editors/space_spreadsheet/spreadsheet_context.cc index 5cec016b727..174371f5549 100644 --- a/source/blender/editors/space_spreadsheet/spreadsheet_context.cc +++ b/source/blender/editors/space_spreadsheet/spreadsheet_context.cc @@ -465,9 +465,7 @@ bool ED_spreadsheet_context_path_is_active(const bContext *C, SpaceSpreadsheet * if (modifier == nullptr) { return false; } - if (!(modifier->flag & eModifierFlag_Active)) { - return false; - } + const bool modifier_is_active = modifier->flag & eModifierFlag_Active; if (modifier->type != eModifierType_Nodes) { return false; } @@ -494,6 +492,12 @@ bool ED_spreadsheet_context_path_is_active(const bContext *C, SpaceSpreadsheet * if (snode->nodetree != root_node_tree) { continue; } + if (!modifier_is_active) { + if (!(snode->flag & SNODE_PIN)) { + /* Node tree has to be pinned when the modifier is not active. */ + continue; + } + } if (snode->id != &object->id) { continue; }