[Bf-blender-cvs] [1c61f3e018d] master: RNA: Raise error assigning an active object which doesn't exist
Campbell Barton
noreply at git.blender.org
Tue Feb 11 03:21:41 CET 2020
Commit: 1c61f3e018d383bad52a179e1241e37b234b0b0d
Author: Campbell Barton
Date: Mon Feb 10 21:58:52 2020 +1100
Branches: master
https://developer.blender.org/rB1c61f3e018d383bad52a179e1241e37b234b0b0d
RNA: Raise error assigning an active object which doesn't exist
Previously this silently cleared the view layers active object.
===================================================================
M source/blender/makesrna/intern/rna_layer.c
===================================================================
diff --git a/source/blender/makesrna/intern/rna_layer.c b/source/blender/makesrna/intern/rna_layer.c
index 40c6229f9b1..da882959ef2 100644
--- a/source/blender/makesrna/intern/rna_layer.c
+++ b/source/blender/makesrna/intern/rna_layer.c
@@ -88,11 +88,22 @@ static PointerRNA rna_LayerObjects_active_object_get(PointerRNA *ptr)
static void rna_LayerObjects_active_object_set(PointerRNA *ptr,
PointerRNA value,
- struct ReportList *UNUSED(reports))
+ struct ReportList *reports)
{
ViewLayer *view_layer = (ViewLayer *)ptr->data;
if (value.data) {
- view_layer->basact = BKE_view_layer_base_find(view_layer, (Object *)value.data);
+ Object *ob = value.data;
+ Base *basact_test = BKE_view_layer_base_find(view_layer, ob);
+ if (basact_test != NULL) {
+ view_layer->basact = basact_test;
+ }
+ else {
+ BKE_reportf(reports,
+ RPT_ERROR,
+ "ViewLayer '%s' does not contain object '%s'",
+ view_layer->name,
+ ob->id.name + 2);
+ }
}
else {
view_layer->basact = NULL;
More information about the Bf-blender-cvs
mailing list