Resolves: tdf#127896 fix 'Exchange database' crash

Change-Id: I8278c9e959ab054b5bccf0b33e5885cd4ac7573a
Reviewed-on: https://gerrit.libreoffice.org/79923
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/sw/source/ui/fldui/changedb.cxx b/sw/source/ui/fldui/changedb.cxx
index 0118adb..5f076a0 100644
--- a/sw/source/ui/fldui/changedb.cxx
+++ b/sw/source/ui/fldui/changedb.cxx
@@ -135,14 +135,17 @@ std::unique_ptr<weld::TreeIter> SwChangeDBDlg::Insert(const OUString& rDBName)
        {
            if (sDBName == m_xUsedDBTLB->get_text(*xIter))
            {
                if (m_xUsedDBTLB->iter_children(*xIter))
                if (m_xUsedDBTLB->iter_has_child(*xIter))
                {
                    do
                    std::unique_ptr<weld::TreeIter> xChild(m_xUsedDBTLB->make_iterator(xIter.get()));
                    if (m_xUsedDBTLB->iter_children(*xChild))
                    {
                        if (sTableName == m_xUsedDBTLB->get_text(*xIter))
                            return xIter;
                    } while (m_xUsedDBTLB->iter_next_sibling(*xIter));
                    m_xUsedDBTLB->iter_parent(*xIter);
                        do
                        {
                            if (sTableName == m_xUsedDBTLB->get_text(*xChild))
                                return xChild;
                        } while (m_xUsedDBTLB->iter_next_sibling(*xChild));
                    }
                }
                m_xUsedDBTLB->insert(xIter.get(), -1, &sTableName, &sUserData, nullptr, nullptr,
                                     &rToInsert, false, xIter.get());