diff options
Diffstat (limited to 'sd/source/ui/func/futext.cxx')
-rwxr-xr-x[-rw-r--r--] | sd/source/ui/func/futext.cxx | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/sd/source/ui/func/futext.cxx b/sd/source/ui/func/futext.cxx index 2fd808dcda3e..2835821796a1 100644..100755 --- a/sd/source/ui/func/futext.cxx +++ b/sd/source/ui/func/futext.cxx @@ -400,10 +400,17 @@ BOOL FuText::MouseButtonDown(const MouseEvent& rMEvt) // do the EndTextEdit first, it will delete the handles and force a // recreation. This will make aVEvt.pHdl to point to a deleted handle, // thus it is necessary to reset it and to get it again. - ::Outliner* pOutl = mpView->GetTextEditOutliner(); - if (mxTextObj.is() && (mxTextObj->GetOutlinerParaObject() || - (pOutl && pOutl->GetText(pOutl->GetParagraph( 0 )).Len() != 0))) + // #i112855# + // cl: I'm not sure why we checked here also for mxTextObj->GetOutlinerParaObjet + // this caused SdrEndTextEdit() to be called also when not in text editing and + // this does not make sense and caused troubles. (see issue 112855) + +// ::Outliner* pOutl = mpView->GetTextEditOutliner(); +// +// if (mxTextObj.is() && (mxTextObj->GetOutlinerParaObject() || +// (pOutl && pOutl->GetText(pOutl->GetParagraph( 0 )).Len() != 0))) + if( mpView->IsTextEdit() ) { mpView->SdrEndTextEdit(); @@ -695,6 +702,17 @@ BOOL FuText::MouseButtonUp(const MouseEvent& rMEvt) mpView->EndDragObj( mpView->IsDragWithCopy() ); mpView->ForceMarkedToAnotherPage(); mpView->SetCurrentObj(OBJ_TEXT); + + USHORT nDrgLog = USHORT ( mpWindow->PixelToLogic(Size(DRGPIX,0)).Width() ); + + if ( mpView->IsRotateAllowed() && mpViewShell->GetFrameView()->IsClickChangeRotation() && (rMEvt.GetClicks() != 2) && + !rMEvt.IsShift() && !rMEvt.IsMod1() && !rMEvt.IsMod2() && !rMEvt.IsRight() && + Abs(aPnt.X() - aMDPos.X()) < nDrgLog && + Abs(aPnt.Y() - aMDPos.Y()) < nDrgLog) + { + // toggle to rotation mode + mpViewShell->GetViewFrame()->GetDispatcher()->Execute( SID_OBJECT_ROTATE, SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD ); + } } else if( mpView && mpView->IsCreateObj() && rMEvt.IsLeft()) { |