tdf#133971 hold self-ref until we return

Change-Id: Iac1b79152c07915675a7dc562aaad9b4c465faa2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96294
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 01783fc..7c318e0 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -298,8 +298,11 @@ IMPL_LINK_NOARG(ScFilterListBox, SelectHdl, weld::TreeView&, bool)

IMPL_LINK_NOARG(ScFilterListBox, AsyncSelectHdl, void*, void)
{
    pGridWin->FilterSelect( nSel );
    nAsyncSelectHdl = nullptr;

    //tdf#133971 hold self-ref until we return
    VclPtr<ScFilterListBox> xThis(this);
    pGridWin->FilterSelect(nSel);
    if (!pGridWin)
    {
        // tdf#133855 we got disposed by FilterSelect