summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/source/ui/app/inputhdl.cxx16
-rw-r--r--sc/source/ui/view/viewdata.cxx7
2 files changed, 14 insertions, 9 deletions
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index 964896d714a5..d440c691e175 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -661,14 +661,14 @@ ScInputHandler::~ScInputHandler()
if ( pInputWin && pInputWin->GetInputHandler() == this )
pInputWin->SetInputHandler( nullptr );
- delete pRangeFindList;
- delete pEditDefaults;
- delete pEngine;
- delete pLastState;
- delete pDelayTimer;
- delete pColumnData;
- delete pFormulaData;
- delete pFormulaDataPara;
+ delete pRangeFindList; pRangeFindList = nullptr;
+ delete pEditDefaults; pEditDefaults = nullptr;
+ delete pEngine; pEngine = nullptr;
+ delete pLastState; pLastState = nullptr;
+ delete pDelayTimer; pDelayTimer = nullptr;
+ delete pColumnData; pColumnData = nullptr;
+ delete pFormulaData; pFormulaData = nullptr;
+ delete pFormulaDataPara; pFormulaDataPara = nullptr;
}
void ScInputHandler::SetRefScale( const Fraction& rX, const Fraction& rY )
diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx
index c79f53ccac60..240661d11c18 100644
--- a/sc/source/ui/view/viewdata.cxx
+++ b/sc/source/ui/view/viewdata.cxx
@@ -1435,11 +1435,16 @@ void ScViewData::ResetEditView()
void ScViewData::KillEditView()
{
+ EditEngine* pEngine = nullptr;
for (sal_uInt16 i=0; i<4; i++)
if (pEditView[i])
{
if (bEditActive[i])
- pEditView[i]->GetEditEngine()->RemoveView(pEditView[i]);
+ {
+ pEngine = pEditView[i]->GetEditEngine();
+ if (pEngine)
+ pEngine->RemoveView(pEditView[i]);
+ }
delete pEditView[i];
pEditView[i] = nullptr;
}