diff options
author | Bastien Montagne <b.mont29@gmail.com> | 2019-11-07 18:09:58 +0300 |
---|---|---|
committer | Bastien Montagne <b.mont29@gmail.com> | 2019-11-07 18:14:11 +0300 |
commit | 74af6987699a5064cb95d15b6bd318d1ea2f5976 (patch) | |
tree | 2dac0f43dc79356b2edd908baf913750abbf8a86 /source/blender/blenkernel/intern/library_remap.c | |
parent | c37ee984a3ec4c01be22db8503ab3c7a70ea0295 (diff) |
Fix T70875: Library Override: Clicking an Library Overriden Object crashes Blender.
We also need to rebuild the whole collection/viewlayer object cache
thing when we relink an objector collection in a collection (since it
might be part of a view layer).
Again, usual disclaimer about how inneficient this is currently, needs a
serious refactor to only tag caches as dirty, and actually rebuild the
whole thing on access.
Diffstat (limited to 'source/blender/blenkernel/intern/library_remap.c')
-rw-r--r-- | source/blender/blenkernel/intern/library_remap.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/library_remap.c b/source/blender/blenkernel/intern/library_remap.c index 45dbb4b6ec1..be283c68911 100644 --- a/source/blender/blenkernel/intern/library_remap.c +++ b/source/blender/blenkernel/intern/library_remap.c @@ -677,7 +677,8 @@ void BKE_libblock_relink_ex( * Maybe we should do a per-ID callback for this instead? */ switch (GS(id->name)) { - case ID_SCE: { + case ID_SCE: + case ID_GR: { if (old_id) { switch (GS(old_id->name)) { case ID_OB: @@ -707,6 +708,8 @@ void BKE_libblock_relink_ex( default: break; } + + DEG_relations_tag_update(bmain); } static int id_relink_to_newid_looper(void *UNUSED(user_data), |