[Bf-blender-cvs] [25fc77f46c6] master: Fix T89829: wrong active context path check in spreadsheet

Jacques Lucke noreply at git.blender.org
Fri Jul 23 16:07:32 CEST 2021


Commit: 25fc77f46c67599f97851ee7eb32ed65bdfd492b
Author: Jacques Lucke
Date:   Fri Jul 23 16:06:41 2021 +0200
Branches: master
https://developer.blender.org/rB25fc77f46c67599f97851ee7eb32ed65bdfd492b

Fix T89829: wrong active context path check in spreadsheet

The problem was that the modifier was reevaluated all the time, even
between showing the attribute search and clicking on the attribute
name. This freed the data referenced by attribute search. The real bug
here was that the dependency graph was tagged for update even
though nothing changed. This was because the spreadsheet thought
its active context has changed and it wanted to compute the new
value to be shown in the spreadsheet.

The reason for the bug was that I confused how the tree-path of a
node editor works. The second element in the tree path contains
the name of the group node in the root tree that we're in (instead
of the first element).

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

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

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 1ac2075e281..c38e765caee 100644
--- a/source/blender/editors/space_spreadsheet/spreadsheet_context.cc
+++ b/source/blender/editors/space_spreadsheet/spreadsheet_context.cc
@@ -489,7 +489,7 @@ bool ED_spreadsheet_context_path_is_active(const bContext *C, SpaceSpreadsheet *
           break;
         }
         SpreadsheetContextNode *node_context = (SpreadsheetContextNode *)node_context_path[i];
-        if (!STREQ(node_context->node_name, tree_path[i]->node_name)) {
+        if (!STREQ(node_context->node_name, tree_path[i + 1]->node_name)) {
           break;
         }
         valid_count++;



More information about the Bf-blender-cvs mailing list