From 18f4182e983f2c99e09f0a9203be91b53c161e22 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Fri, 23 Aug 2019 15:39:19 +0200 Subject: LibOverride: Fixed bug in removing override op operator. In case the property is a RNA pointer, `RNA_path_resolve()` will try to resolve it and return that pointer, instead of returning expected container... That is a bad inconsistency in the rNA path API, but no proper way to solve it for now... --- source/blender/editors/interface/interface_ops.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source/blender/editors/interface/interface_ops.c') diff --git a/source/blender/editors/interface/interface_ops.c b/source/blender/editors/interface/interface_ops.c index 819ec4fc2d3..0afd67e5e66 100644 --- a/source/blender/editors/interface/interface_ops.c +++ b/source/blender/editors/interface/interface_ops.c @@ -629,8 +629,9 @@ static int override_remove_button_exec(bContext *C, wmOperator *op) /* We need source (i.e. linked data) to restore values of deleted overrides... * If this is an override template, we obviously do not need to restore anything. */ if (!is_template) { + PropertyRNA *src_prop; RNA_id_pointer_create(id->override_library->reference, &id_refptr); - if (!RNA_path_resolve(&id_refptr, oprop->rna_path, &src, NULL)) { + if (!RNA_path_resolve_property(&id_refptr, oprop->rna_path, &src, &src_prop)) { BLI_assert(0 && "Failed to create matching source (linked data) RNA pointer"); } } -- cgit v1.2.3