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>
(cherry picked from commit 0011c032afb96b2b3cfa63f88565e01c84d03512)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114609
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Michael Stahl <michael.stahl@allotropia.de>
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