Better Fix for T51777: Separating objects by selected vertices
This reverts commit 47b9d0d040
. And
implement a fix that doesn't require Depsgraph refresh.
This commit is contained in:
parent
7cfa6094ab
commit
6ea6c51670
|
@ -34,6 +34,7 @@
|
|||
#include "BLI_string_utils.h"
|
||||
|
||||
#include "BKE_collection.h"
|
||||
#include "BKE_idprop.h"
|
||||
#include "BKE_layer.h"
|
||||
#include "BKE_library.h"
|
||||
#include "BKE_main.h"
|
||||
|
@ -254,6 +255,14 @@ void BKE_collection_object_add_from(Scene *scene, Object *ob_src, Object *ob_dst
|
|||
}
|
||||
}
|
||||
FOREACH_SCENE_COLLECTION_END
|
||||
|
||||
for (SceneLayer *sl = scene->render_layers.first; sl; sl = sl->next) {
|
||||
Base *base_src = BKE_scene_layer_base_find(sl, ob_src);
|
||||
if (base_src != NULL) {
|
||||
Base *base_dst = BKE_scene_layer_base_find(sl, ob_dst);
|
||||
IDP_MergeGroup(base_dst->collection_properties, base_src->collection_properties, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -2064,9 +2064,6 @@ static Base *object_add_duplicate_internal(Main *bmain, Scene *scene, SceneLayer
|
|||
obn = ID_NEW_SET(ob, BKE_object_copy(bmain, ob));
|
||||
DEG_id_tag_update(&obn->id, OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME);
|
||||
|
||||
/* TODO(sergey): Use proper flag for tagging here. */
|
||||
DEG_id_tag_update(&scene->id, 0);
|
||||
|
||||
BKE_collection_object_add_from(scene, ob, obn);
|
||||
basen = BKE_scene_layer_base_find(sl, obn);
|
||||
|
||||
|
|
Loading…
Reference in New Issue