From 50dccc1d59bc851f1c877d4cf2e060f3e4c60ca2 Mon Sep 17 00:00:00 2001 From: Marco Cecchetti Date: Thu, 22 Nov 2018 19:40:35 +0100 Subject: lok: get correct handlers for a single rotated shape Change-Id: I74668ca8079d8d56b8c3f2c4513e2a2ec95872c6 --- svx/source/svdraw/svdmrkv.cxx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx index 46c93e985716..8c4be9154284 100644 --- a/svx/source/svdraw/svdmrkv.cxx +++ b/svx/source/svdraw/svdmrkv.cxx @@ -561,10 +561,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(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) @@ -638,12 +641,15 @@ void SdrMarkView::SetMarkHandles(SfxViewShell* pOtherShell) if(areMarkHandlesHidden()) return; + // 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); @@ -675,9 +681,6 @@ void SdrMarkView::SetMarkHandles(SfxViewShell* pOtherShell) } } - // 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; - // check if text edit or ole is active and handles need to be suppressed. This may be the case // when a single object is selected // Using a strict return statement is okay here; no handles means *no* handles. -- cgit