(svn r1906) - Fix: [ 1117327 ] Assertion error on kick. When a company is cleaned all its windows need to be closed. For global vehicle lists, the no-staiton index of -1 was not taken into account
authorDarkvater
Tue, 22 Feb 2005 20:32:26 +0000
changeset 1402 033a3f3e05e0
parent 1401 44a7e0f04d28
child 1403 aac4a4df01ac
(svn r1906) - Fix: [ 1117327 ] Assertion error on kick. When a company is cleaned all its windows need to be closed. For global vehicle lists, the no-staiton index of -1 was not taken into account
players.c
train_gui.c
--- a/players.c	Tue Feb 22 19:38:44 2005 +0000
+++ b/players.c	Tue Feb 22 20:32:26 2005 +0000
@@ -609,10 +609,12 @@
 	DeleteWindowById(WC_COMPANY, pi);
 	DeleteWindowById(WC_FINANCES, pi);
 	DeleteWindowById(WC_STATION_LIST, pi);
-	DeleteWindowById(WC_TRAINS_LIST, pi);
-	DeleteWindowById(WC_ROADVEH_LIST, pi);
-	DeleteWindowById(WC_SHIPS_LIST, pi);
-	DeleteWindowById(WC_AIRCRAFT_LIST, pi);
+	/* The vehicle list windows also have station in the window_number
+	 * A stationindex of -1 means the global vehicle list */
+	DeleteWindowById(WC_TRAINS_LIST, (-1 << 16) | pi);
+	DeleteWindowById(WC_ROADVEH_LIST, (-1 << 16) | pi);
+	DeleteWindowById(WC_SHIPS_LIST, (-1 << 16) | pi);
+	DeleteWindowById(WC_AIRCRAFT_LIST, (-1 << 16) | pi);
 	DeleteWindowById(WC_BUY_COMPANY, pi);
 }
 
--- a/train_gui.c	Tue Feb 22 19:38:44 2005 +0000
+++ b/train_gui.c	Tue Feb 22 20:32:26 2005 +0000
@@ -1487,7 +1487,7 @@
 		w = AllocateWindowDescFront(&_other_player_trains_desc, (station << 16) | player);
 	}
 	if (w) {
-		w->caption_color = w->window_number;
+		w->caption_color = player;
 		w->hscroll.cap = 10;
 		w->vscroll.cap = 7; // maximum number of vehicles shown
 		w->widget[7].unkA = (w->vscroll.cap << 8) + 1;