Fix T96085: repeated evaluation of geometry nodes when nothing changed
Differential Revision: https://developer.blender.org/D14216
This commit is contained in:
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
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue