Fix clipboard copying collections when copying objects from 3DView.
authorBastien Montagne <montagne29@wanadoo.fr>
Thu, 21 Mar 2019 08:42:49 +0000 (09:42 +0100)
committerBastien Montagne <montagne29@wanadoo.fr>
Thu, 21 Mar 2019 08:47:50 +0000 (09:47 +0100)
This was inherited from 2.7x behavior with groups, but in 2.8
collections are also used as 2.7x layers, which turns to be a problem
when pasting back clipboard content, since it would instantiate
collections instead of objects, quickly leading to tens of new
collections in the viewlayer...

Instead, we only copy selected objects from the 3DView now. On paste
time, those will be added to the active collection.

Last part of fixes related to T61670.

source/blender/editors/space_view3d/view3d_ops.c

index e551f1e..31c9be0 100644 (file)
@@ -75,19 +75,6 @@ static int view3d_copybuffer_exec(bContext *C, wmOperator *op)
        }
        CTX_DATA_END;
 
-       for (Collection *collection = bmain->collections.first; collection; collection = collection->id.next) {
-               for (CollectionObject *cob = collection->gobject.first; cob; cob = cob->next) {
-                       Object *object = cob->ob;
-
-                       if (object && (object->id.tag & LIB_TAG_DOIT)) {
-                               BKE_copybuffer_tag_ID(&collection->id);
-                               /* don't expand out to all other objects */
-                               collection->id.tag &= ~LIB_TAG_NEED_EXPAND;
-                               break;
-                       }
-               }
-       }
-
        BLI_make_file_string("/", str, BKE_tempdir_base(), "copybuffer.blend");
        BKE_copybuffer_save(bmain, str, op->reports);