diff options
-rw-r--r-- | sw/source/uibase/docvw/PostItMgr.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sw/source/uibase/docvw/PostItMgr.cxx b/sw/source/uibase/docvw/PostItMgr.cxx index 1d68a7c9465f..b67252a139d8 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; |