[Bf-blender-cvs] [b3165fb8b56] blender-v2.90-release: Fix (unreported) glitch when making liboverride of object from IDtemplate.

Bastien Montagne noreply at git.blender.org
Wed Aug 12 19:03:09 CEST 2020


Commit: b3165fb8b5689c3003292080b5783a22f48e77ec
Author: Bastien Montagne
Date:   Wed Aug 12 17:57:38 2020 +0200
Branches: blender-v2.90-release
https://developer.blender.org/rBb3165fb8b5689c3003292080b5783a22f48e77ec

Fix (unreported) glitch when making liboverride of object from IDtemplate.

We need to ensure new override is instantiated in the scene...

Reported by @Severin, thanks.

===================================================================

M	source/blender/editors/interface/interface_templates.c

===================================================================

diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c
index d3487b635ce..50148d8a8cd 100644
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@ -572,6 +572,15 @@ static void template_id_cb(bContext *C, void *arg_litem, void *arg_event)
             if (override_id != NULL) {
               BKE_main_id_clear_newpoins(bmain);
 
+              if (GS(override_id->name) == ID_OB) {
+                Scene *scene = CTX_data_scene(C);
+                if (!BKE_collection_has_object_recursive(scene->master_collection,
+                                                         (Object *)override_id)) {
+                  BKE_collection_object_add_from(
+                      bmain, scene, (Object *)id, (Object *)override_id);
+                }
+              }
+
               /* Assign new pointer, takes care of updates/notifiers */
               RNA_id_pointer_create(override_id, &idptr);
             }



More information about the Bf-blender-cvs mailing list