tdf#141887 SW don't crash on missing SwWrtShell
The code assumes that SwEditWin::Command can just be called,
while there is still an m_rView.GetWrtShell(), which is at least
not true, if you have an IM in pre-selection and close the Writer
window via Window decoration.
Change-Id: I67d5f1f917e9b2180037babb8c70c72d75c4a7ae
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114624
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
(cherry picked from commit 9a1c4a10b08ccb8d874a85a2cd984fd71f08c022)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114604
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sw/source/uibase/docvw/edtwin.cxx b/sw/source/uibase/docvw/edtwin.cxx
index 9ad8275..bb0e735 100644
--- a/sw/source/uibase/docvw/edtwin.cxx
+++ b/sw/source/uibase/docvw/edtwin.cxx
@@ -5346,15 +5346,15 @@ void SwEditWin::LoseFocus()
void SwEditWin::Command( const CommandEvent& rCEvt )
{
SwWrtShell &rSh = m_rView.GetWrtShell();
if ( !m_rView.GetViewFrame() )
if (!m_rView.GetViewFrame() || isDisposed())
{
// If ViewFrame dies shortly, no popup anymore!
Window::Command(rCEvt);
return;
}
SwWrtShell &rSh = m_rView.GetWrtShell();
// The command event is send to the window after a possible context
// menu from an inplace client has been closed. Now we have the chance
// to deactivate the inplace client without any problem regarding parent