--- a/src/bridge_gui.cpp Mon May 26 21:45:57 2008 +0000
+++ b/src/bridge_gui.cpp Tue May 27 00:13:51 2008 +0000
@@ -74,19 +74,19 @@
GUIBridgeList *bridges;
/** Sort the bridges by their index */
- static int BridgeIndexSorter(const BuildBridgeData *a, const BuildBridgeData *b)
+ static int CDECL BridgeIndexSorter(const BuildBridgeData *a, const BuildBridgeData *b)
{
return a->index - b->index;
}
/** Sort the bridges by their price */
- static int BridgePriceSorter(const BuildBridgeData *a, const BuildBridgeData *b)
+ static int CDECL BridgePriceSorter(const BuildBridgeData *a, const BuildBridgeData *b)
{
return a->cost - b->cost;
}
/** Sort the bridges by their maximum speed */
- static int BridgeSpeedSorter(const BuildBridgeData *a, const BuildBridgeData *b)
+ static int CDECL BridgeSpeedSorter(const BuildBridgeData *a, const BuildBridgeData *b)
{
return a->spec->speed - b->spec->speed;
}
--- a/src/group_gui.cpp Mon May 26 21:45:57 2008 +0000
+++ b/src/group_gui.cpp Tue May 27 00:13:51 2008 +0000
@@ -147,7 +147,7 @@
}
/** Sort the groups by their name */
- static int GroupNameSorter(const Group* const *a, const Group* const *b)
+ static int CDECL GroupNameSorter(const Group* const *a, const Group* const *b)
{
static const Group *last_group[2] = { NULL, NULL };
static char last_name[2][64] = { "", "" };
@@ -295,7 +295,7 @@
SortVehicleList(this);
this->BuildGroupList(owner);
- this->groups.Sort(GroupNameSorter);
+ this->groups.Sort(&GroupNameSorter);
SetVScrollCount(this, this->groups.Length());
SetVScroll2Count(this, this->vehicles.Length());
--- a/src/sortlist_type.h Mon May 26 21:45:57 2008 +0000
+++ b/src/sortlist_type.h Tue May 27 00:13:51 2008 +0000
@@ -26,7 +26,7 @@
template <typename T>
class GUIList : public SmallVector<T, 32> {
public:
- typedef int SortFunction(const T*, const T*);
+ typedef int CDECL SortFunction(const T*, const T*);
public: // Temporary: public for conversion only
SortFunction* const *func_list; ///< The sort criteria functions
@@ -189,7 +189,7 @@
*
* @param compare The function to compare two list items
* */
- FORCEINLINE void Sort(SortFunction compare)
+ FORCEINLINE void Sort(SortFunction *compare)
{
/* Do not sort if the resort bit is not set */
if (!HASBITS(this->flags, VL_RESORT)) return;
@@ -204,7 +204,7 @@
const bool desc = HASBITS(this->flags, VL_DESC);
if (HASBITS(this->flags, VL_FIRST_SORT)) {
- qsort(this->data, this->items, sizeof(T), (int (*)(const void *a, const void *b))compare);
+ qsort(this->data, this->items, sizeof(T), (int (CDECL *)(const void *, const void *))compare);
if (desc) this->Reverse();
return;