Resolves: tdf#136189 don't try and sort until treeview is filled

Change-Id: Ic5ac71d88bab7627e14220912f4b9c935f2f1f26

and...

Related: tdf#136189 don't assert on unsetting non-existing previous sort column

Change-Id: If2330cc83ace9ec0133b99eec8c2f0be3919013e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101710
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit c52ac477beefc46802148033adbca9edb9970ac1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101967
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/cui/source/options/optaboutconfig.cxx b/cui/source/options/optaboutconfig.cxx
index a5adf76..217b0bc 100644
--- a/cui/source/options/optaboutconfig.cxx
+++ b/cui/source/options/optaboutconfig.cxx
@@ -181,7 +181,9 @@ IMPL_LINK(CuiAboutConfigTabPage, HeaderBarClick, int, nColumn, void)
    }
    else
    {
        m_xPrefBox->set_sort_indicator(TRISTATE_INDET, m_xPrefBox->get_sort_column());
        int nOldSortColumn = m_xPrefBox->get_sort_column();
        if (nOldSortColumn != -1)
            m_xPrefBox->set_sort_indicator(TRISTATE_INDET, nOldSortColumn);
        m_xPrefBox->set_sort_column(nColumn);
    }

diff --git a/include/svx/ctredlin.hxx b/include/svx/ctredlin.hxx
index 55462c9..08538bf 100644
--- a/include/svx/ctredlin.hxx
+++ b/include/svx/ctredlin.hxx
@@ -104,6 +104,7 @@ public:
    void set_size_request(int nWidth, int nHeight);

    weld::TreeView& GetWidget() { return *pTreeView; }
    bool IsSorted() const { return bSorted; }

    ~SvxRedlinTable();

diff --git a/sc/source/ui/dialogs/searchresults.cxx b/sc/source/ui/dialogs/searchresults.cxx
index 3604e15..e78f91d 100644
--- a/sc/source/ui/dialogs/searchresults.cxx
+++ b/sc/source/ui/dialogs/searchresults.cxx
@@ -181,7 +181,9 @@ IMPL_LINK(SearchResultsDlg, HeaderBarClick, int, nColumn, void)
    }
    else
    {
        mxList->set_sort_indicator(TRISTATE_INDET, mxList->get_sort_column());
        int nOldSortColumn = mxList->get_sort_column();
        if (nOldSortColumn != -1)
            mxList->set_sort_indicator(TRISTATE_INDET, nOldSortColumn);
        mxList->set_sort_column(nColumn);
    }

diff --git a/svx/source/dialog/ctredlin.cxx b/svx/source/dialog/ctredlin.cxx
index 15155c6..f3243e0d1 100644
--- a/svx/source/dialog/ctredlin.cxx
+++ b/svx/source/dialog/ctredlin.cxx
@@ -113,7 +113,9 @@ IMPL_LINK(SvxRedlinTable, HeaderBarClick, int, nColumn, void)
    }
    else
    {
        pTreeView->set_sort_indicator(TRISTATE_INDET, pTreeView->get_sort_column());
        int nOldSortColumn = pTreeView->get_sort_column();
        if (nOldSortColumn != -1)
            pTreeView->set_sort_indicator(TRISTATE_INDET, nOldSortColumn);
        pTreeView->set_sort_column(nColumn);
    }

diff --git a/sw/source/ui/misc/bookmark.cxx b/sw/source/ui/misc/bookmark.cxx
index e5be414..7267f5a 100644
--- a/sw/source/ui/misc/bookmark.cxx
+++ b/sw/source/ui/misc/bookmark.cxx
@@ -367,7 +367,9 @@ IMPL_LINK(SwInsertBookmarkDlg, HeaderBarClick, int, nColumn, void)
    }
    else
    {
        m_xBookmarksBox->set_sort_indicator(TRISTATE_INDET, m_xBookmarksBox->get_sort_column());
        int nOldSortColumn = m_xBookmarksBox->get_sort_column();
        if (nOldSortColumn != -1)
            m_xBookmarksBox->set_sort_indicator(TRISTATE_INDET, nOldSortColumn);
        m_xBookmarksBox->set_sort_column(nColumn);
    }

diff --git a/sw/source/uibase/misc/redlndlg.cxx b/sw/source/uibase/misc/redlndlg.cxx
index 1fc7a35..807fa163 100644
--- a/sw/source/uibase/misc/redlndlg.cxx
+++ b/sw/source/uibase/misc/redlndlg.cxx
@@ -716,6 +716,8 @@ void SwRedlineAcceptDlg::InsertParents(SwRedlineTable::size_type nStart, SwRedli
        pCurrRedline = nullptr;

    rTreeView.freeze();
    if (m_pTable->IsSorted())
        rTreeView.make_unsorted();
    for (SwRedlineTable::size_type i = nStart; i <= nEnd; i++)
    {
        const SwRangeRedline& rRedln = pSh->GetRedline(i);
@@ -762,6 +764,8 @@ void SwRedlineAcceptDlg::InsertParents(SwRedlineTable::size_type nStart, SwRedli
        InsertChildren(pRedlineParent, rRedln, bHasRedlineAutoFormat);
    }
    rTreeView.thaw();
    if (m_pTable->IsSorted())
        rTreeView.make_sorted();
}

void SwRedlineAcceptDlg::CallAcceptReject( bool bSelect, bool bAccept )