Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <bastien@blender.org>2022-04-20 12:05:54 +0300
committerBastien Montagne <bastien@blender.org>2022-04-20 12:05:54 +0300
commit5b8a3ccd374913d9f81db9e01f64fd51f1296582 (patch)
tree3b18754dc7e216655e179ed09de3e6bc85b41b6f
parent97dbcf97461fbf37c6befb9c78ea07979300ec8b (diff)
Fix T94775: Buggy liboverride default apply code for items insertion in RNA collections.
For some reason, the rework of liboverride handling of Collection items insertion (rB33c5e7bcd5e5) completely missed to update accordingly the default liboverride apply code... Many thanks to Wayde Moss (@GuiltyGhost) for the investigation and proposed solution.
-rw-r--r--source/blender/makesrna/intern/rna_rna.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/source/blender/makesrna/intern/rna_rna.c b/source/blender/makesrna/intern/rna_rna.c
index bd864006b8c..a7d673d3fe1 100644
--- a/source/blender/makesrna/intern/rna_rna.c
+++ b/source/blender/makesrna/intern/rna_rna.c
@@ -2601,10 +2601,11 @@ bool rna_property_override_apply_default(Main *bmain,
int item_index_src, item_index_ref;
if (RNA_property_collection_lookup_string_index(
ptr_src, prop_src, opop->subitem_local_name, &item_ptr_src, &item_index_src) &&
- RNA_property_collection_lookup_int(
- ptr_src, prop_src, item_index_src + 1, &item_ptr_src) &&
- RNA_property_collection_lookup_string_index(
- ptr_dst, prop_dst, opop->subitem_local_name, &item_ptr_ref, &item_index_ref)) {
+ RNA_property_collection_lookup_string_index(ptr_dst,
+ prop_dst,
+ opop->subitem_reference_name,
+ &item_ptr_ref,
+ &item_index_ref)) {
is_valid = true;
item_index_dst = item_index_ref + 1;
}
@@ -2612,10 +2613,10 @@ bool rna_property_override_apply_default(Main *bmain,
if (!is_valid && opop->subitem_local_index >= 0) {
/* Find from index. */
if (RNA_property_collection_lookup_int(
- ptr_src, prop_src, opop->subitem_local_index + 1, &item_ptr_src) &&
+ ptr_src, prop_src, opop->subitem_local_index, &item_ptr_src) &&
RNA_property_collection_lookup_int(
- ptr_dst, prop_dst, opop->subitem_local_index, &item_ptr_ref)) {
- item_index_dst = opop->subitem_local_index + 1;
+ ptr_dst, prop_dst, opop->subitem_reference_index, &item_ptr_ref)) {
+ item_index_dst = opop->subitem_reference_index + 1;
is_valid = true;
}
}