Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2022-03-02 16:12:08 +0300
committerJacques Lucke <jacques@blender.org>2022-03-02 16:12:08 +0300
commit4a95c3466fafcd3e9116cd0d7fdcc63f2dc38bd2 (patch)
tree8fbda36b95e192c47ec470e992e35c558d6c902a
parent383a6ee78c111e3e1fa0be464d5493f7941fe67c (diff)
Fix T96085: repeated evaluation of geometry nodes when nothing changed
Differential Revision: https://developer.blender.org/D14216
-rw-r--r--source/blender/editors/space_spreadsheet/spreadsheet_context.cc10
1 files 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;
}