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 <montagne29@wanadoo.fr>2016-10-17 15:49:35 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2016-10-17 16:00:31 +0300
commit5e92a0faad987a84d4a1c1a9d7459c2847865577 (patch)
tree73eff29a0c13c49bf7fe997d4b20055d19c311c5 /source/blender/blenkernel/intern/library.c
parentc2d0832c6ee11e1575744ab18233e41a9e7c2730 (diff)
Fix T49722: Appending Bug (Groups).
One day we'll have to reconsider why some many 'real' ID usages are not refcounting... :( To be backported to 2.78a.
Diffstat (limited to 'source/blender/blenkernel/intern/library.c')
-rw-r--r--source/blender/blenkernel/intern/library.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index a2802d2b5d8..93bf5e1949e 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -1746,6 +1746,11 @@ void BKE_library_make_local(Main *bmain, const Library *lib, const bool untagged
ob->proxy = ob->proxy_from = ob->proxy_group = NULL;
}
}
+ /* Special hack for groups... Thing is, since we can't instantiate them here, we need to ensure
+ * they remain 'alive' (only instantiation is a real group 'user'... *sigh* See T49722. */
+ else if (GS(id->name) == ID_GR && (id->tag & LIB_TAG_INDIRECT) != 0) {
+ id_us_ensure_real(id->newid);
+ }
BKE_library_ID_test_usages(bmain, id, &is_local, &is_lib);
if (!is_local && !is_lib) {