diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2020-01-17 21:30:47 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2020-01-17 21:59:00 +0300 |
commit | fb0fc1d613317eef50fbd395829476ce0b932bfc (patch) | |
tree | a366732a8a684275c6aecd889cf4afcd799a9ee4 /source/blender/editors/object/object_relations.c | |
parent | 66ad94d905e71f3ceac3d859da1749a0391f22fd (diff) |
Fix T73170: New Scene -> "Full Copy" Crashes Blender.
rBac723db57fd8ba5 makes proper remapping of all pointers in Scene...
including the object pointers of bases in ViewLayers.
Using `BKE_main_collection_sync_remap()` makes sense here anyway
(compared to `BKE_main_collection_sync()`, it additionally clears caches
in ViewLayers and Collections), this whole code makes a lot of
remapping.
Note that I do not really understand *why* that was working OK
before rBac723db57fd8ba5. I.E. *why* not remapping at all ViewLayers'
base object pointers seemed to be OK...
This whole collection/viewlayer caching is very hard to follow, and
really needs a full rework at some point (just as much as ID copying
code in general, and scene copying code in particular, in fact).
Diffstat (limited to 'source/blender/editors/object/object_relations.c')
-rw-r--r-- | source/blender/editors/object/object_relations.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index 6c5c523ba05..1fc139ec997 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -1802,7 +1802,7 @@ static void single_object_users( /* Making single user may affect other scenes if they share * with current one some collections in their ViewLayer. */ - BKE_main_collection_sync(bmain); + BKE_main_collection_sync_remap(bmain); } /* not an especially efficient function, only added so the single user |