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.
This commit is contained in:
Bastien Montagne 2020-08-12 17:57:38 +02:00
parent 54c2c14921
commit b3165fb8b5
1 changed files with 9 additions and 0 deletions

View File

@ -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);
}