diff options
-rw-r--r-- | sc/source/ui/app/inputhdl.cxx | 16 | ||||
-rw-r--r-- | sc/source/ui/view/viewdata.cxx | 7 |
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; } |