summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2015-05-19 10:30:31 +0100
committerMichael Meeks <michael.meeks@collabora.com>2015-05-19 10:32:10 +0100
commit88528b88bfa41d7c13c619ed0e17215924c589a9 (patch)
tree9ace463aff290c449bb3d404115e86f6f6cd2db2
parent2e3f48746ea887c5503a87830b7d68b9eca2f3cc (diff)
tdf#91364 - fix data-pilot and auto-filter popup lifecycle.
Change-Id: I6bc94025da3d6536b38cb43eef262d1d5f4c4c4c
-rw-r--r--sc/source/ui/view/gridwin.cxx3
-rw-r--r--sc/source/ui/view/gridwin2.cxx1
2 files changed, 3 insertions, 1 deletions
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 9c2eaa4ae056..5f2a06a1db62 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -575,7 +575,7 @@ void ScGridWindow::ClickExtern()
if (mpDPFieldPopup)
{
mpDPFieldPopup->close(false);
- mpDPFieldPopup.reset();
+ mpDPFieldPopup.disposeAndClear();
}
}
@@ -705,6 +705,7 @@ void ScGridWindow::LaunchAutoFilterMenu(SCCOL nCol, SCROW nRow)
SCTAB nTab = pViewData->GetTabNo();
ScDocument* pDoc = pViewData->GetDocument();
+ mpAutoFilterPopup.disposeAndClear();
mpAutoFilterPopup.reset(VclPtr<ScCheckListMenuWindow>::Create(this, pDoc));
mpAutoFilterPopup->setOKAction(new AutoFilterAction(this, Normal));
mpAutoFilterPopup->setPopupEndAction(
diff --git a/sc/source/ui/view/gridwin2.cxx b/sc/source/ui/view/gridwin2.cxx
index 04194904e382..03e215074d3e 100644
--- a/sc/source/ui/view/gridwin2.cxx
+++ b/sc/source/ui/view/gridwin2.cxx
@@ -455,6 +455,7 @@ void ScGridWindow::DPLaunchFieldPopupMenu(
const ScDPLabelData& rLabelData = pDPData->maLabels;
+ mpDPFieldPopup.disposeAndClear();
mpDPFieldPopup.reset(VclPtr<ScCheckListMenuWindow>::Create(this, pViewData->GetDocument()));
mpDPFieldPopup->setName("DataPilot field member popup");
mpDPFieldPopup->setExtendedData(pDPData.release());