Fix T96085: repeated evaluation of geometry nodes when nothing changed

Differential Revision: https://developer.blender.org/D14216
This commit is contained in:
Jacques Lucke 2022-03-02 14:12:08 +01:00
parent 383a6ee78c
commit 4a95c3466f
Notes: blender-bot 2023-02-14 04:31:04 +01:00
Referenced by issue #96085, Constant Evaluation of Geometry Node Tree When Viewer node + Spreadsheet + Modifier present together
1 changed files with 7 additions and 3 deletions

View File

@ -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;
}