Resolves: tdf#139299 crash on gaining focus during dispose

Change-Id: I5fd2b3cec7dd0c2c10c88006ef1812e57b547e0e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109238
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/dbaccess/source/ui/querydesign/TableWindowListBox.cxx b/dbaccess/source/ui/querydesign/TableWindowListBox.cxx
index 53f1d45..bef7531 100644
--- a/dbaccess/source/ui/querydesign/TableWindowListBox.cxx
+++ b/dbaccess/source/ui/querydesign/TableWindowListBox.cxx
@@ -237,11 +237,14 @@ void OTableWindowListBox::GetFocus()
    if (m_pTabWin)
        m_pTabWin->setActive();

    std::unique_ptr<weld::TreeIter> xCurrent = m_xTreeView->make_iterator();
    if (m_xTreeView->get_cursor(xCurrent.get()))
    if (m_xTreeView)
    {
        m_xTreeView->unselect_all();
        m_xTreeView->select(*xCurrent);
        std::unique_ptr<weld::TreeIter> xCurrent = m_xTreeView->make_iterator();
        if (m_xTreeView->get_cursor(xCurrent.get()))
        {
            m_xTreeView->unselect_all();
            m_xTreeView->select(*xCurrent);
        }
    }

    InterimItemWindow::GetFocus();