basctl/source/basicide/baside2.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
New commits: commit 6e240dd933d1dd54480cad0f1f2ecb45b1c5326e Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Mon Jul 6 16:23:51 2020 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Mon Jul 6 20:50:42 2020 +0200 Resolves: tdf#134551 ModulWindow deleted when last module removed leaving a dangling reference to m_aName. Hold a reference until ExecuteCommand is finished. Change-Id: I82ac5cc73427a945c78b9317dee9edf6129bb975 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98083 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx index 5cb16f8f1f58..4a9fc67c94d0 100644 --- a/basctl/source/basicide/baside2.cxx +++ b/basctl/source/basicide/baside2.cxx @@ -1009,8 +1009,13 @@ void ModulWindow::ExecuteCommand (SfxRequest& rReq) case SID_BASICIDE_DELETECURRENT: { if (QueryDelModule(m_aName, GetFrameWeld())) + { + // tdf#134551 don't delete the window if last module is removed until this block + // is complete + VclPtr<ModulWindow> xKeepRef(this); if (m_aDocument.removeModule(m_aLibName, m_aName)) MarkDocumentModified(m_aDocument); + } } break; case FID_SEARCH_OFF: @@ -1050,7 +1055,6 @@ void ModulWindow::ExecuteGlobal (SfxRequest& rReq) } } - void ModulWindow::GetState( SfxItemSet &rSet ) { SfxWhichIter aIter(rSet); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits