summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-04-06 13:21:44 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-04-06 16:22:43 +0200
commit79ae6cc6b3b19252473f6987106ea7d8aa17a5ea (patch)
treead487826806e9d5aae290da6897c548a0cfcdb35 /svx
parent2afdea17162731888ad8f09fae2bb50e4246d7e9 (diff)
Resolves: tdf#116713 Revert "loplugin:useuniqueptr in SdrObjEditView"
pTextEditOutliner.release() sets pTextEditOutliner to null, so in SvxTextEditSourceImpl::dispose() mpView->GetTextEditOutliner() returns null and the SvxTextEditSourceImpl doesn't deregister This reverts commit 2affed9bfd72628549df3049ed9f6e6a30fdb5b8. Change-Id: If97c4113db34184b315178546f1fccfada14cc09 Reviewed-on: https://gerrit.libreoffice.org/52503 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'svx')
-rw-r--r--svx/source/svdraw/svdedxv.cxx20
1 files changed, 12 insertions, 8 deletions
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index 5b33f7ff6b4c..51ef80fb46b6 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -101,7 +101,7 @@ SdrObjEditView::~SdrObjEditView()
assert(!IsTextEdit());
if (IsTextEdit())
SdrEndTextEdit();
- pTextEditOutliner.reset();
+ delete pTextEditOutliner;
assert(nullptr == mpOldTextEditUndoManager); // should have been reset
}
@@ -820,7 +820,7 @@ OutlinerView* SdrObjEditView::ImpMakeOutlinerView(vcl::Window* pWin, OutlinerVie
if (pOutlView == nullptr)
{
- pOutlView = new OutlinerView(pTextEditOutliner.get(), pWin);
+ pOutlView = new OutlinerView(pTextEditOutliner, pWin);
}
else
{
@@ -1078,7 +1078,8 @@ bool SdrObjEditView::SdrBeginTextEdit(
if(pTextEditOutliner)
{
OSL_FAIL("SdrObjEditView::SdrBeginTextEdit(): Old Outliner still exists.");
- pTextEditOutliner.reset();
+ delete pTextEditOutliner;
+ pTextEditOutliner = nullptr;
}
if(!bBrk)
@@ -1086,9 +1087,9 @@ bool SdrObjEditView::SdrBeginTextEdit(
pTextEditWin=pWin;
pTextEditPV=pPV;
mxTextEditObj.reset( pObj );
- pTextEditOutliner.reset(pGivenOutliner);
+ pTextEditOutliner=pGivenOutliner;
if (pTextEditOutliner==nullptr)
- pTextEditOutliner.reset(SdrMakeOutliner( OutlinerMode::TextObject, *mxTextEditObj->GetModel() ));
+ pTextEditOutliner = SdrMakeOutliner( OutlinerMode::TextObject, *mxTextEditObj->GetModel() );
{
SvtAccessibilityOptions aOptions;
@@ -1334,7 +1335,9 @@ bool SdrObjEditView::SdrBeginTextEdit(
pGivenOutlinerView = nullptr;
}
}
- pTextEditOutliner.reset();
+ delete pTextEditOutliner;
+
+ pTextEditOutliner=nullptr;
pTextEditOutlinerView=nullptr;
mxTextEditObj.reset(nullptr);
pTextEditPV=nullptr;
@@ -1349,7 +1352,7 @@ SdrEndTextEditKind SdrObjEditView::SdrEndTextEdit(bool bDontDeleteReally)
SdrEndTextEditKind eRet=SdrEndTextEditKind::Unchanged;
SdrTextObj* pTEObj = mxTextEditObj.get();
vcl::Window* pTEWin =pTextEditWin;
- SdrOutliner* pTEOutliner =pTextEditOutliner.release();
+ SdrOutliner* pTEOutliner =pTextEditOutliner;
OutlinerView* pTEOutlinerView=pTextEditOutlinerView;
vcl::Cursor* pTECursorMerker=pTextEditCursorMerker;
SdrUndoManager* pUndoEditUndoManager = nullptr;
@@ -1419,6 +1422,7 @@ SdrEndTextEditKind SdrObjEditView::SdrEndTextEdit(bool bDontDeleteReally)
mxTextEditObj.reset(nullptr);
pTextEditPV=nullptr;
pTextEditWin=nullptr;
+ pTextEditOutliner=nullptr;
pTextEditOutlinerView=nullptr;
pTextEditCursorMerker=nullptr;
aTextEditArea=tools::Rectangle();
@@ -1923,7 +1927,7 @@ bool SdrObjEditView::ImpIsTextEditAllSelected() const
bool bRet=false;
if (pTextEditOutliner!=nullptr && pTextEditOutlinerView!=nullptr)
{
- if(SdrTextObj::HasTextImpl( pTextEditOutliner.get() ) )
+ if(SdrTextObj::HasTextImpl( pTextEditOutliner ) )
{
const sal_Int32 nParaCnt=pTextEditOutliner->GetParagraphCount();
Paragraph* pLastPara=pTextEditOutliner->GetParagraph( nParaCnt > 1 ? nParaCnt - 1 : 0 );