diff options
author | Marco Cecchetti <mrcekets@gmail.com> | 2018-11-22 19:40:35 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2018-12-07 11:52:33 +0100 |
commit | 50dccc1d59bc851f1c877d4cf2e060f3e4c60ca2 (patch) | |
tree | 6ad3e6b16d1c293ed3725a3620c19c8d1ee82821 | |
parent | d02fdce7852a08e09b1e72903c08e79b8747a1c3 (diff) |
lok: get correct handlers for a single rotated shape
Change-Id: I74668ca8079d8d56b8c3f2c4513e2a2ec95872c6
-rw-r--r-- | svx/source/svdraw/svdmrkv.cxx | 13 |
1 files 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<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) @@ -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. |