summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-05-17 02:12:37 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-05-17 06:48:23 +0200
commitfed568a27f1810beb93fc127ee7392b1a6131628 (patch)
tree36af686f61093b0013aae28ab03482762267efbf
parent01f29d865e62f6a5371f4459c66f035e56326f5b (diff)
fix more conditional format crashes, tdf#90982
Change-Id: I009df010f93641310c31031f535d50fb42a655ba
-rw-r--r--sc/source/ui/condformat/condformatdlg.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/sc/source/ui/condformat/condformatdlg.cxx b/sc/source/ui/condformat/condformatdlg.cxx
index e256f749df58..9f4d30277f3c 100644
--- a/sc/source/ui/condformat/condformatdlg.cxx
+++ b/sc/source/ui/condformat/condformatdlg.cxx
@@ -324,6 +324,7 @@ IMPL_LINK(ScCondFormatList, AfterTypeListHdl, ListBox*, pBox)
case condformat::entry::ICONSET:
return 0;
}
+ itr->disposeAndClear();
*itr = VclPtr<ScColorScale3FrmtEntry>::Create(this, mpDoc, maPos);
mpDialogParent->InvalidateRefData();
(*itr)->SetActive();
@@ -332,6 +333,7 @@ IMPL_LINK(ScCondFormatList, AfterTypeListHdl, ListBox*, pBox)
if((*itr)->GetType() == condformat::entry::CONDITION)
return 0;
+ itr->disposeAndClear();
*itr = VclPtr<ScConditionFrmtEntry>::Create(this, mpDoc, mpDialogParent, maPos);
mpDialogParent->InvalidateRefData();
(*itr)->SetActive();
@@ -340,6 +342,7 @@ IMPL_LINK(ScCondFormatList, AfterTypeListHdl, ListBox*, pBox)
if((*itr)->GetType() == condformat::entry::FORMULA)
return 0;
+ itr->disposeAndClear();
*itr = VclPtr<ScFormulaFrmtEntry>::Create(this, mpDoc, mpDialogParent, maPos);
mpDialogParent->InvalidateRefData();
(*itr)->SetActive();
@@ -348,6 +351,7 @@ IMPL_LINK(ScCondFormatList, AfterTypeListHdl, ListBox*, pBox)
if((*itr)->GetType() == condformat::entry::DATE)
return 0;
+ itr->disposeAndClear();
*itr = VclPtr<ScDateFrmtEntry>::Create( this, mpDoc );
mpDialogParent->InvalidateRefData();
(*itr)->SetActive();