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>
diff --git a/cui/source/options/optaboutconfig.cxx b/cui/source/options/optaboutconfig.cxx
index 44bacb1..79a75bd 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 950726a..0f94c64 100644
--- a/sc/source/ui/dialogs/searchresults.cxx
+++ b/sc/source/ui/dialogs/searchresults.cxx
@@ -196,7 +196,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 3374efd..3116ec7 100644
--- a/svx/source/dialog/ctredlin.cxx
+++ b/svx/source/dialog/ctredlin.cxx
@@ -110,7 +110,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 29f090f..be22962 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 9d510e5..a185064 100644
--- a/sw/source/uibase/misc/redlndlg.cxx
+++ b/sw/source/uibase/misc/redlndlg.cxx
@@ -712,6 +712,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);
@@ -758,6 +760,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 )