diff options
author | Oliver Bolte <obo@openoffice.org> | 2004-03-17 10:27:58 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2004-03-17 10:27:58 +0000 |
commit | de720db8c3e60e728d8da9ca199f0979bd07bbb8 (patch) | |
tree | 8c808ba75b33b2400a13b2b8f6fde7557b3f11b6 /sd/source/ui | |
parent | a9f20d42bf2eb7a088c48a8dcacfbe94f172e549 (diff) |
INTEGRATION: CWS impress4ea1 (1.43.20); FILE MERGED
2004/03/01 16:04:23 cl 1.43.20.1: #i25812# check for pTextObj after calling EndTextEdit()
Diffstat (limited to 'sd/source/ui')
-rw-r--r-- | sd/source/ui/func/futext.cxx | 81 |
1 files changed, 42 insertions, 39 deletions
diff --git a/sd/source/ui/func/futext.cxx b/sd/source/ui/func/futext.cxx index 4e79b59b31ac..a18bf047981f 100644 --- a/sd/source/ui/func/futext.cxx +++ b/sd/source/ui/func/futext.cxx @@ -2,9 +2,9 @@ * * $RCSfile: futext.cxx,v $ * - * $Revision: 1.43 $ + * $Revision: 1.44 $ * - * last change: $Author: hr $ $Date: 2004-02-03 20:17:06 $ + * last change: $Author: obo $ $Date: 2004-03-17 11:27:58 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -1225,59 +1225,62 @@ void FuText::SetInEditMode(const MouseEvent& rMEvt, BOOL bQuickDrag) pView->EndTextEdit(TRUE); } - FASTBOOL bNewObj = TRUE; + if( pTextObj ) + { + FASTBOOL bNewObj = TRUE; - OutlinerParaObject* pOPO = pTextObj->GetOutlinerParaObject(); - if( ( pOPO && pOPO->IsVertical() ) || - nSlotId == SID_ATTR_CHAR_VERTICAL || - nSlotId == SID_TEXT_FITTOSIZE_VERTICAL ) - pOutl->SetVertical( TRUE ); + OutlinerParaObject* pOPO = pTextObj->GetOutlinerParaObject(); + if( ( pOPO && pOPO->IsVertical() ) || + nSlotId == SID_ATTR_CHAR_VERTICAL || + nSlotId == SID_TEXT_FITTOSIZE_VERTICAL ) + pOutl->SetVertical( TRUE ); - if (pView->BegTextEdit(pTextObj, pPV, pWindow, bNewObj, pOutl) && - pTextObj->GetObjInventor() == SdrInventor) - { - bFirstObjCreated = TRUE; - DeleteDefaultText(); + if (pView->BegTextEdit(pTextObj, pPV, pWindow, bNewObj, pOutl) && + pTextObj->GetObjInventor() == SdrInventor) + { + bFirstObjCreated = TRUE; + DeleteDefaultText(); - OutlinerView* pOLV = pView->GetTextEditOutlinerView(); + OutlinerView* pOLV = pView->GetTextEditOutlinerView(); - UINT16 nSdrObjKind = pTextObj->GetObjIdentifier(); + UINT16 nSdrObjKind = pTextObj->GetObjIdentifier(); - SdrViewEvent aVEvt; - SdrHitKind eHit = pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt); + SdrViewEvent aVEvt; + SdrHitKind eHit = pView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt); - if (eHit == SDRHIT_TEXTEDIT) - { - // Text getroffen - if (nSdrObjKind == OBJ_TEXT || - nSdrObjKind == OBJ_TITLETEXT || - nSdrObjKind == OBJ_OUTLINETEXT || - nSlotId == SID_TEXTEDIT || - !bQuickDrag) + if (eHit == SDRHIT_TEXTEDIT) { - pOLV->MouseButtonDown(rMEvt); - pOLV->MouseMove(rMEvt); - pOLV->MouseButtonUp(rMEvt); - } + // Text getroffen + if (nSdrObjKind == OBJ_TEXT || + nSdrObjKind == OBJ_TITLETEXT || + nSdrObjKind == OBJ_OUTLINETEXT || + nSlotId == SID_TEXTEDIT || + !bQuickDrag) + { + pOLV->MouseButtonDown(rMEvt); + pOLV->MouseMove(rMEvt); + pOLV->MouseButtonUp(rMEvt); + } - if (pViewShell->GetFrameView()->IsQuickEdit() && - bQuickDrag && pTextObj->GetOutlinerParaObject()) + if (pViewShell->GetFrameView()->IsQuickEdit() && + bQuickDrag && pTextObj->GetOutlinerParaObject()) + { + pOLV->MouseButtonDown(rMEvt); + } + } + else { - pOLV->MouseButtonDown(rMEvt); + // #98198# Move cursor to end of text + ESelection aNewSelection(EE_PARA_NOT_FOUND, EE_INDEX_NOT_FOUND, EE_PARA_NOT_FOUND, EE_INDEX_NOT_FOUND); + pOLV->SetSelection(aNewSelection); } } else { - // #98198# Move cursor to end of text - ESelection aNewSelection(EE_PARA_NOT_FOUND, EE_INDEX_NOT_FOUND, EE_PARA_NOT_FOUND, EE_INDEX_NOT_FOUND); - pOLV->SetSelection(aNewSelection); + RestoreDefaultText(); } } - else - { - RestoreDefaultText(); - } } } } |