(svn r13286) -Codechange: GUIList Sort returns now if the list sequence has been altered
--- a/src/sortlist_type.h Tue May 27 09:57:29 2008 +0000
+++ b/src/sortlist_type.h Tue May 27 10:27:30 2008 +0000
@@ -188,18 +188,19 @@
* sorted data.
*
* @param compare The function to compare two list items
+ * @return true if the list sequence has been altered
* */
- FORCEINLINE void Sort(SortFunction *compare)
+ FORCEINLINE bool Sort(SortFunction *compare)
{
/* Do not sort if the resort bit is not set */
- if (!HASBITS(this->flags, VL_RESORT)) return;
+ if (!HASBITS(this->flags, VL_RESORT)) return false;
CLRBITS(this->flags, VL_RESORT);
this->ResetResortTimer();
/* Do not sort when the list is not sortable */
- if (!this->IsSortable()) return;
+ if (!this->IsSortable()) return false;
const bool desc = HASBITS(this->flags, VL_DESC);
@@ -207,7 +208,7 @@
qsort(this->data, this->items, sizeof(T), (int (CDECL *)(const void *, const void *))compare);
if (desc) this->Reverse();
- return;
+ return true;
}
T *a = this->data;
@@ -238,6 +239,7 @@
}
}
}
+ return true;
}
/**
@@ -253,11 +255,13 @@
/**
* Overload of Sort()
* Overloaded to reduce external code
+ *
+ * @return true if the list sequence has been altered
*/
- void Sort()
+ bool Sort()
{
assert(this->func_list != NULL);
- this->Sort(this->func_list[this->sort_type]);
+ return this->Sort(this->func_list[this->sort_type]);
}
/**
--- a/src/station_gui.cpp Tue May 27 09:57:29 2008 +0000
+++ b/src/station_gui.cpp Tue May 27 10:27:30 2008 +0000
@@ -197,7 +197,7 @@
/** Sort the stations list */
void SortStationsList()
{
- this->stations.Sort();
+ if (!this->stations.Sort()) return;
/* Reset name sorter sort cache */
this->last_station = NULL;