From 570331ca96a5e7a30c8896a07aad1960d5bd706e Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Tue, 9 Nov 2021 14:16:20 +0100 Subject: Fix T92928: Geometry nodes animation decorator wrong for vectors Decorators were only added for the first item of an array. Decorators for all items of an array are added: - if the layout is flagged `UI_ITEM_PROP_DECORATE` automatically in `uiItemFullR` or - calling `uiItemDecoratorR` (but only in certain situations, see below) When calling `uiItemDecoratorR` with an index of 0, the following happens: - the index is passed to `uiItemDecoratorR_prop` - that checks with `ui_item_rna_is_expand` if decorators should be added to all items of an array - the check fails (because it only permits RNA_NO_INDEX -- which is -1) So two things we can do: - remain using `uiItemDecoratorR` (that would require to pass an index of RNA_NO_INDEX -- a bad level include -- or -1 - just use `uiLayoutSetPropDecorate` to flag the row properly This patch does later. Differential Revision: https://developer.blender.org/D13159 --- source/blender/modifiers/intern/MOD_nodes.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/modifiers/intern/MOD_nodes.cc b/source/blender/modifiers/intern/MOD_nodes.cc index a48210e4cf4..6ea47881982 100644 --- a/source/blender/modifiers/intern/MOD_nodes.cc +++ b/source/blender/modifiers/intern/MOD_nodes.cc @@ -1362,8 +1362,8 @@ static void draw_property_for_socket(const bContext &C, } else { uiLayout *row = uiLayoutRow(layout, false); + uiLayoutSetPropDecorate(row, true); uiItemR(row, md_ptr, rna_path, 0, socket.name, ICON_NONE); - uiItemDecoratorR(row, md_ptr, rna_path, 0); } } } -- cgit v1.2.3