[Bf-blender-cvs] [4a95c3466fa] blender-v3.1-release: Fix T96085: repeated evaluation of geometry nodes when nothing changed

Jacques Lucke noreply at git.blender.org
Wed Mar 2 14:12:20 CET 2022


Commit: 4a95c3466fafcd3e9116cd0d7fdcc63f2dc38bd2
Author: Jacques Lucke
Date:   Wed Mar 2 14:12:08 2022 +0100
Branches: blender-v3.1-release
https://developer.blender.org/rB4a95c3466fafcd3e9116cd0d7fdcc63f2dc38bd2

Fix T96085: repeated evaluation of geometry nodes when nothing changed

Differential Revision: https://developer.blender.org/D14216

===================================================================

M	source/blender/editors/space_spreadsheet/spreadsheet_context.cc

===================================================================

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



More information about the Bf-blender-cvs mailing list