Kaydet (Commit) 50dccc1d authored tarafından Marco Cecchetti's avatar Marco Cecchetti Kaydeden (comit) Jan Holesovsky

lok: get correct handlers for a single rotated shape

Change-Id: I74668ca8079d8d56b8c3f2c4513e2a2ec95872c6
üst d02fdce7
...@@ -561,10 +561,13 @@ void SdrMarkView::showMarkHandles() ...@@ -561,10 +561,13 @@ void SdrMarkView::showMarkHandles()
bool SdrMarkView::ImpIsFrameHandles() const 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(); const size_t nMarkCount=GetMarkedObjectCount();
bool bFrmHdl=nMarkCount>static_cast<size_t>(mnFrameHandlesLimit) || mbForceFrameHandles; bool bFrmHdl=nMarkCount>static_cast<size_t>(mnFrameHandlesLimit) || mbForceFrameHandles;
bool bStdDrag=meDragMode==SdrDragMode::Move; bool bStdDrag=meDragMode==SdrDragMode::Move;
if (nMarkCount==1 && bStdDrag && bFrmHdl) if (!bTiledRendering && nMarkCount==1 && bStdDrag && bFrmHdl)
{ {
const SdrObject* pObj=GetMarkedObjectByIndex(0); const SdrObject* pObj=GetMarkedObjectByIndex(0);
if (pObj->GetObjInventor()==SdrInventor::Default) if (pObj->GetObjInventor()==SdrInventor::Default)
...@@ -638,12 +641,15 @@ void SdrMarkView::SetMarkHandles(SfxViewShell* pOtherShell) ...@@ -638,12 +641,15 @@ void SdrMarkView::SetMarkHandles(SfxViewShell* pOtherShell)
if(areMarkHandlesHidden()) if(areMarkHandlesHidden())
return; 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(); const size_t nMarkCount=GetMarkedObjectCount();
bool bStdDrag=meDragMode==SdrDragMode::Move; bool bStdDrag=meDragMode==SdrDragMode::Move;
bool bSingleTextObjMark=false; bool bSingleTextObjMark=false;
bool bLimitedRotation(false); bool bLimitedRotation(false);
if (nMarkCount==1) if (!bTiledRendering && nMarkCount==1)
{ {
mpMarkedObj=GetMarkedObjectByIndex(0); mpMarkedObj=GetMarkedObjectByIndex(0);
...@@ -675,9 +681,6 @@ void SdrMarkView::SetMarkHandles(SfxViewShell* pOtherShell) ...@@ -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 // 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 // when a single object is selected
// Using a strict return statement is okay here; no handles means *no* handles. // Using a strict return statement is okay here; no handles means *no* handles.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment