Code

fix by Preben S for LP bug 389780, flatness
[inkscape.git] / src / ui / clipboard.cpp
index f569324873396e5530c3fe1164f1ae5e6c36ba36..7e41006bec7832908135b1423526b39a18d97e12 100644 (file)
@@ -799,14 +799,11 @@ void ClipboardManagerImpl::_pasteDocument(SPDocument *clipdoc, bool in_place)
 
     // 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) {