From 23e03be72d330c88f96800cb1f3ca78d8f42d22d Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Wed, 30 Jul 2025 12:41:02 +0200 Subject: [PATCH] Fix #143600: Library overrides on custom properties are broken. Mistake in 7276b2009a, where iterator over StructRNA properties was changed to iterate over the new system IDProps, instead of the existing (now 'custom data'-only) user IDProps. System IDProps do not need to be handled in this iterator, as they are expected to already be processed through their wrapping RNA properties. --- source/blender/makesrna/intern/rna_rna.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/blender/makesrna/intern/rna_rna.cc b/source/blender/makesrna/intern/rna_rna.cc index b2bfe8a1692..6de4760de6f 100644 --- a/source/blender/makesrna/intern/rna_rna.cc +++ b/source/blender/makesrna/intern/rna_rna.cc @@ -458,9 +458,13 @@ static void rna_Struct_properties_next(CollectionPropertyIterator *iter) /* regular properties */ rna_inheritance_properties_listbase_next(iter, rna_property_builtin); - /* try id properties */ + /* Try IDProperties (i.e. custom data). + * + * NOTE: System IDProperties should not need to be handled here, as they are expected to have a + * valid (runtime-defined) RNA property to wrap them, which will have been processed above as + * part of `rna_inheritance_properties_listbase_next`. */ if (!iter->valid) { - group = RNA_struct_system_idprops(&iter->builtin_parent, 0); + group = RNA_struct_idprops(&iter->builtin_parent, 0); if (group) { rna_iterator_listbase_end(iter);