src/station_gui.cpp
changeset 6579 2eb90ced504b
parent 6574 e1d1a12faaf7
child 6585 7da94b26498a
--- a/src/station_gui.cpp	Thu Mar 08 09:46:44 2007 +0000
+++ b/src/station_gui.cpp	Thu Mar 08 12:26:31 2007 +0000
@@ -138,6 +138,14 @@
 	return (_internal_sort_order & 1) ? sum2 - sum1 : sum1 - sum2;
 }
 
+/**
+ * qsort-compatible version of sorting two stations by maximum rating
+ * @param a   First object to be sorted, must be of type (const Station *)
+ * @param b   Second object to be sorted, must be of type (const Station *)
+ * @return    The sort order
+ * @retval >0 a should come before b in the list
+ * @retval <0 b should come before a in the list
+ */
 static int CDECL StationRatingMaxSorter(const void *a, const void *b)
 {
 	const Station* st1 = *(const Station**)a;
@@ -146,8 +154,8 @@
 	byte maxr2 = 0;
 
 	for (CargoID j = 0; j < NUM_CARGO; j++) {
-		if (st1->goods[j].waiting_acceptance & 0xfff) maxr1 = max(maxr1, st1->goods[j].rating);
-		if (st2->goods[j].waiting_acceptance & 0xfff) maxr2 = max(maxr2, st2->goods[j].rating);
+		if (st1->goods[j].enroute_from != INVALID_STATION) maxr1 = max(maxr1, st1->goods[j].rating);
+		if (st2->goods[j].enroute_from != INVALID_STATION) maxr2 = max(maxr2, st2->goods[j].rating);
 	}
 
 	return (_internal_sort_order & 1) ? maxr2 - maxr1 : maxr1 - maxr2;