diff options
author | Darkvater <darkvater@openttd.org> | 2005-02-22 20:32:26 +0000 |
---|---|---|
committer | Darkvater <darkvater@openttd.org> | 2005-02-22 20:32:26 +0000 |
commit | 0ddbc1304b161aad6583bd632634723645435f60 (patch) | |
tree | c1c059fd066da56290419c5652130232e50e2936 /players.c | |
parent | 1f66d602725c26c3b378724e7c73ecb7493edd9b (diff) | |
download | openttd-0ddbc1304b161aad6583bd632634723645435f60.tar.xz |
(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
Diffstat (limited to 'players.c')
-rw-r--r-- | players.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -609,10 +609,12 @@ void DeletePlayerWindows(int pi) 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); } |