(svn r13280) -Fix (r13276): MSVC compilation was broken
authorsmatz
Tue, 27 May 2008 00:13:51 +0000
changeset 10730 40906a6f031e
parent 10729 d2adc1c2e5c0
child 10733 f836478e695f
(svn r13280) -Fix (r13276): MSVC compilation was broken
src/bridge_gui.cpp
src/group_gui.cpp
src/sortlist_type.h
--- 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;