tdf#133348 remove from list before calling SetActiveSidebarWin

so GetNextPostIt won't deal with mvPostItFields containing empty unique_ptr
See bt here:
https://bugs.documentfoundation.org/attachment.cgi?id=161242

Change-Id: I7c9a3e91d5186492cb185f799b60d1dcc5edf7af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94766
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/sw/source/uibase/docvw/PostItMgr.cxx b/sw/source/uibase/docvw/PostItMgr.cxx
index 1d68a7c..b67252a 100644
--- a/sw/source/uibase/docvw/PostItMgr.cxx
+++ b/sw/source/uibase/docvw/PostItMgr.cxx
@@ -306,12 +306,14 @@ void SwPostItMgr::RemoveItem( SfxBroadcaster* pBroadcast )
    if (i != mvPostItFields.end())
    {
        std::unique_ptr<SwSidebarItem> p = std::move(*i);
        if (GetActiveSidebarWin() == p->pPostIt)
            SetActiveSidebarWin(nullptr);
        // tdf#120487 remove from list before dispose, so comment window
        // won't be recreated due to the entry still in the list if focus
        // transferring from the pPostIt triggers relayout of postits
        // tdf#133348 remove from list before calling SetActiveSidebarWin
        // so GetNextPostIt won't deal with mvPostItFields containing empty unique_ptr
        mvPostItFields.erase(i);
        if (GetActiveSidebarWin() == p->pPostIt)
            SetActiveSidebarWin(nullptr);
        p->pPostIt.disposeAndClear();
    }
    mbLayout = true;