From 2246b6a2887b90efc712c4479b19609cf9307a3d Mon Sep 17 00:00:00 2001 From: mert Date: Thu, 4 Mar 2021 12:17:27 +0300 Subject: Fix wrong position on move when page has margin Change-Id: I9ac2d9914b86210ca2148b44488c2c70cc5870d4 Signed-off-by: mert Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111949 Reviewed-by: Miklos Vajna Tested-by: Jenkins CollaboraOffice Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111929 Tested-by: Jenkins --- sd/source/ui/func/futransf.cxx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'sd') diff --git a/sd/source/ui/func/futransf.cxx b/sd/source/ui/func/futransf.cxx index fa7398e48b43..6c07e0e70be6 100644 --- a/sd/source/ui/func/futransf.cxx +++ b/sd/source/ui/func/futransf.cxx @@ -28,6 +28,7 @@ #include #include #include +#include #include @@ -48,14 +49,13 @@ rtl::Reference FuTransform::Create( ViewShell* pViewSh, ::sd::Window* pW namespace { -void setUndo(::sd::View* pView, const SfxItemSet* pArgs) +void setUndo(::sd::View* pView, const SfxItemSet* pArgs, bool addPageMargin) { // Undo OUString aString = pView->GetDescriptionOfMarkedObjects() + " " + SdResId(STR_TRANSFORM); pView->BegUndo(aString); - - pView->SetGeoAttrToMarked(*pArgs); + pView->SetGeoAttrToMarked(*pArgs, addPageMargin); pView->SetAttributes(*pArgs); pView->EndUndo(); } @@ -71,7 +71,9 @@ void FuTransform::DoExecute( SfxRequest& rReq ) if (pArgs) { - setUndo(mpView, pArgs); + // If this comes from LOK, that means the shape is moved by mouse + // only then pArgs is pre-set. + setUndo(mpView, pArgs, comphelper::LibreOfficeKit::isActive()); return; } @@ -115,7 +117,8 @@ void FuTransform::DoExecute( SfxRequest& rReq ) if (nResult == RET_OK) { pRequest->Done(*(pDlg->GetOutputItemSet())); - setUndo(mpView, pRequest->GetArgs()); + // Page margin is already calculated at this point. + setUndo(mpView, pRequest->GetArgs(), false); } // deferred until the dialog ends -- cgit