summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Cecchetti <mrcekets@gmail.com>2018-11-22 19:40:35 +0100
committerMichael Meeks <michael.meeks@collabora.com>2019-08-05 12:02:16 -0400
commitac8bc00065d1ac2b5ca26dbf52145568a0d24f8b (patch)
treec255b602054f44e4bb1fba249c5247de94f390ce
parent82c8346f2f3f8b804577ea6975faad5796e5ec04 (diff)
lok: get correct handlers for a single rotated shape
Change-Id: I74668ca8079d8d56b8c3f2c4513e2a2ec95872c6
-rw-r--r--svx/source/svdraw/svdmrkv.cxx20
1 files changed, 13 insertions, 7 deletions
diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx
index 99fe72a5cd95..5de327b34608 100644
--- a/svx/source/svdraw/svdmrkv.cxx
+++ b/svx/source/svdraw/svdmrkv.cxx
@@ -564,10 +564,13 @@ void SdrMarkView::showMarkHandles()
bool SdrMarkView::ImpIsFrameHandles() const
{
+ // There can be multiple mark views, but we're only interested in the one that has a window associated.
+ const bool bTiledRendering = comphelper::LibreOfficeKit::isActive() && GetFirstOutputDevice() && GetFirstOutputDevice()->GetOutDevType() == OUTDEV_WINDOW;
+
const size_t nMarkCount=GetMarkedObjectCount();
bool bFrmHdl=nMarkCount>static_cast<size_t>(mnFrameHandlesLimit) || mbForceFrameHandles;
bool bStdDrag=meDragMode==SdrDragMode::Move;
- if (nMarkCount==1 && bStdDrag && bFrmHdl)
+ if (!bTiledRendering && nMarkCount==1 && bStdDrag && bFrmHdl)
{
const SdrObject* pObj=GetMarkedObjectByIndex(0);
if (pObj->GetObjInventor()==SdrInventor::Default)
@@ -694,12 +697,20 @@ void SdrMarkView::SetMarkHandles(SfxViewShell* pOtherShell)
if(areMarkHandlesHidden())
return;
+ // apply calc offset to marked object rect
+ // ( necessary for handles to be displayed in
+ // correct position )
+ Point aGridOff = GetGridOffset();
+
+ // There can be multiple mark views, but we're only interested in the one that has a window associated.
+ const bool bTiledRendering = comphelper::LibreOfficeKit::isActive() && GetFirstOutputDevice() && GetFirstOutputDevice()->GetOutDevType() == OUTDEV_WINDOW;
+
const size_t nMarkCount=GetMarkedObjectCount();
bool bStdDrag=meDragMode==SdrDragMode::Move;
bool bSingleTextObjMark=false;
bool bLimitedRotation(false);
- if (nMarkCount==1)
+ if (!bTiledRendering && nMarkCount==1)
{
mpMarkedObj=GetMarkedObjectByIndex(0);
@@ -732,11 +743,6 @@ void SdrMarkView::SetMarkHandles(SfxViewShell* pOtherShell)
}
}
- // apply calc offset to marked object rect
- // ( necessary for handles to be displayed in
- // correct position )
- Point aGridOff = GetGridOffset();
-
// There can be multiple mark views, but we're only interested in the one that has a window associated.
const bool bTiledRendering = comphelper::LibreOfficeKit::isActive() && GetFirstOutputDevice() && GetFirstOutputDevice()->GetOutDevType() == OUTDEV_WINDOW;