summaryrefslogtreecommitdiff
path: root/sd/source/ui/func/futext.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/func/futext.cxx')
-rwxr-xr-x[-rw-r--r--]sd/source/ui/func/futext.cxx24
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())
{