summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormerttumer <mert.tumer@collabora.com>2021-03-24 12:06:08 +0300
committerSzymon Kłos <szymon.klos@collabora.com>2021-03-29 14:06:22 +0200
commita4081f31d3b058c0016adb8b2cb83a64221cb3bc (patch)
treeee579efc37c1892ba4caff2f89f3321ec9e0cda8
parent4d1348edad5f884dd4d15d3c10cf935ba0100be1 (diff)
LOK: Fix Moving drag handles calculates wrong offset
When dragging the shape handles for resizing, the handle's grid offset must be the shapes grid offset. In small numbered row&column orders, it is not visible much since the difference is very little but as the number gets greater, the difference becomes more visible. Change-Id: I44d03cc67a239c8b7758206930def331ed8e5e42 Signed-off-by: merttumer <mert.tumer@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113028 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
-rw-r--r--svx/source/svdraw/svddrgv.cxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/svx/source/svdraw/svddrgv.cxx b/svx/source/svdraw/svddrgv.cxx
index e807b0a65610..78a065ff9fc5 100644
--- a/svx/source/svdraw/svddrgv.cxx
+++ b/svx/source/svdraw/svddrgv.cxx
@@ -41,6 +41,7 @@
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <svx/sdr/overlay/overlaymanager.hxx>
#include <svx/sdrpagewindow.hxx>
+#include <comphelper/lok.hxx>
using namespace sdr;
@@ -225,10 +226,12 @@ bool SdrDragView::BegDragObj(const Point& rPnt, OutputDevice* pOut, SdrHdl* pHdl
// Coordinate maybe affected by GridOffset, so we may need to
// adapt to Model-coordinates here
- if(getPossibleGridOffsetForPosition(
+ if((comphelper::LibreOfficeKit::isActive() && mpMarkedObj
+ && getPossibleGridOffsetForSdrObject(aGridOffset, GetMarkedObjectByIndex(0), GetSdrPageView()))
+ || (getPossibleGridOffsetForPosition(
aGridOffset,
basegfx::B2DPoint(aPnt.X(), aPnt.Y()),
- GetSdrPageView()))
+ GetSdrPageView())))
{
aPnt.AdjustX(basegfx::fround(-aGridOffset.getX()));
aPnt.AdjustY(basegfx::fround(-aGridOffset.getY()));
@@ -526,10 +529,12 @@ void SdrDragView::MovDragObj(const Point& rPnt)
// Coordinate maybe affected by GridOffset, so we may need to
// adapt to Model-coordinates here
- if(getPossibleGridOffsetForPosition(
+ if((comphelper::LibreOfficeKit::isActive() && mpMarkedObj
+ && getPossibleGridOffsetForSdrObject(aGridOffset, GetMarkedObjectByIndex(0), GetSdrPageView()))
+ || (getPossibleGridOffsetForPosition(
aGridOffset,
basegfx::B2DPoint(aPnt.X(), aPnt.Y()),
- GetSdrPageView()))
+ GetSdrPageView())))
{
aPnt.AdjustX(basegfx::fround(-aGridOffset.getX()));
aPnt.AdjustY(basegfx::fround(-aGridOffset.getY()));