diff options
author | Jacques Lucke <jacques@blender.org> | 2022-03-02 16:12:08 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2022-03-02 16:12:08 +0300 |
commit | 4a95c3466fafcd3e9116cd0d7fdcc63f2dc38bd2 (patch) | |
tree | 8fbda36b95e192c47ec470e992e35c558d6c902a /source/blender/editors/space_spreadsheet | |
parent | 383a6ee78c111e3e1fa0be464d5493f7941fe67c (diff) |
Fix T96085: repeated evaluation of geometry nodes when nothing changed
Differential Revision: https://developer.blender.org/D14216
Diffstat (limited to 'source/blender/editors/space_spreadsheet')
-rw-r--r-- | source/blender/editors/space_spreadsheet/spreadsheet_context.cc | 10 |
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; } |