summaryrefslogtreecommitdiff
path: root/sc/source/ui/view
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2021-11-12 15:39:49 +0000
committerCaolán McNamara <caolanm@redhat.com>2021-11-12 21:32:56 +0100
commit3509a42a042db1628acc59dfc13298639745f62e (patch)
treea24d456adedffc5d522a38b2f8e19138ccdf29df /sc/source/ui/view
parent110fa313628c55fef1d35830358aea7e27c1e3ee (diff)
Resolves: tdf#145645 pivot table popups don't dismiss when item activated
Change-Id: I5a68a08600b7792d924ec77694a60651df5d9c83 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125112 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc/source/ui/view')
-rw-r--r--sc/source/ui/view/gridwin.cxx8
-rw-r--r--sc/source/ui/view/gridwin2.cxx6
2 files changed, 10 insertions, 4 deletions
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 5d5e2a3a6667..d850ac042872 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -499,9 +499,12 @@ class AutoFilterAction : public ScCheckListMenuControl::Action
public:
AutoFilterAction(ScGridWindow* p, ScGridWindow::AutoFilterMode eMode) :
mpWindow(p), meMode(eMode) {}
- virtual void execute() override
+ virtual bool execute() override
{
mpWindow->UpdateAutoFilterFromMenu(meMode);
+ // RefreshAutoFilterButton manually closes the popup so return
+ // false to not attempt a second close
+ return false;
}
};
@@ -512,9 +515,10 @@ class AutoFilterPopupEndAction : public ScCheckListMenuControl::Action
public:
AutoFilterPopupEndAction(ScGridWindow* p, const ScAddress& rPos) :
mpWindow(p), maPos(rPos) {}
- virtual void execute() override
+ virtual bool execute() override
{
mpWindow->RefreshAutoFilterButton(maPos);
+ return false; // this is called after the popup has been closed
}
};
diff --git a/sc/source/ui/view/gridwin2.cxx b/sc/source/ui/view/gridwin2.cxx
index 0baef4a4aa96..db6c8c6066d3 100644
--- a/sc/source/ui/view/gridwin2.cxx
+++ b/sc/source/ui/view/gridwin2.cxx
@@ -382,9 +382,10 @@ public:
explicit DPFieldPopupOKAction(ScGridWindow* p) :
mpGridWindow(p) {}
- virtual void execute() override
+ virtual bool execute() override
{
mpGridWindow->UpdateDPFromFieldPopupMenu();
+ return true;
}
private:
VclPtr<ScGridWindow> mpGridWindow;
@@ -404,7 +405,7 @@ public:
, mpViewShell(pViewShell)
{}
- virtual void execute() override
+ virtual bool execute() override
{
switch (meType)
{
@@ -420,6 +421,7 @@ public:
default:
;
}
+ return true;
}
private: