diff options
Diffstat (limited to 'sc/source/ui/view/gridwin.cxx')
-rw-r--r-- | sc/source/ui/view/gridwin.cxx | 8 |
1 files changed, 6 insertions, 2 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 } }; |