diff --git a/src/ui/clipboard.cpp b/src/ui/clipboard.cpp
index f569324873396e5530c3fe1164f1ae5e6c36ba36..7e41006bec7832908135b1423526b39a18d97e12 100644 (file)
--- a/src/ui/clipboard.cpp
+++ b/src/ui/clipboard.cpp
// invers apply parent transform
Geom::Matrix doc2parent = sp_item_i2doc_affine(SP_ITEM(desktop->currentLayer())).inverse();
+ sp_selection_apply_affine(selection, desktop->dt2doc() * doc2parent * desktop->doc2dt(), true, false);
// Update (among other things) all curves in paths, for bounds() to work
sp_document_ensure_up_to_date(target_document);
- // Don't exactly know what sp_document_ensure_up_to_date() does, but apparently it must be called before
- // item->getCenter() is used in sp_selection_apply_affine(). If not, then the center will be at (0,0)
- sp_selection_apply_affine(selection, doc2parent);
-
// move selection either to original position (in_place) or to mouse pointer
Geom::OptRect sel_bbox = selection->bounds();
if (sel_bbox) {