(svn r6261) -Fix r6246: fixed sprite related crash related to other player's vehicle list windows (spotted by Darkvater)
authorbjarni
Thu, 31 Aug 2006 09:40:10 +0000
changeset 4476 bc9076b4d7a2
parent 4475 ad2f3ff95d23
child 4477 d4eebf76337e
(svn r6261) -Fix r6246: fixed sprite related crash related to other player's vehicle list windows (spotted by Darkvater)
vehicle_gui.c
--- a/vehicle_gui.c	Thu Aug 31 08:36:31 2006 +0000
+++ b/vehicle_gui.c	Thu Aug 31 09:40:10 2006 +0000
@@ -1251,6 +1251,8 @@
 					}
 					SetDParam(0, w->vscroll.count);
 					w->widget[1].unkA  = STR_VEH_WITH_SHARED_ORDERS_LIST;
+
+					if (owner != _local_player) break;	// only set up buttons for local player
 					w->widget[10].unkA = STR_EMPTY;
 					SETBIT(w->disabled_state, 10);
 
@@ -1268,14 +1270,6 @@
 					SetDParam(0, p->name_1);
 					SetDParam(1, p->name_2);
 					SetDParam(2, w->vscroll.count);
-					if (vl->list_length == 0) SETBIT(w->disabled_state, 9);
-					if (vehicle_type == VEH_Aircraft) {
-						w->widget[9].unkA = STR_SEND_TO_HANGARS;
-						w->widget[9].tooltips = STR_SEND_TO_HANGARS_TIP;
-					} else {
-						w->widget[9].unkA = STR_SEND_TO_DEPOTS;
-						w->widget[9].tooltips = STR_SEND_TO_DEPOTS_TIP;
-					}
 
 					switch (vehicle_type) {
 						case VEH_Train:    w->widget[1].unkA = STR_881B_TRAINS;        break;
@@ -1284,6 +1278,16 @@
 						case VEH_Aircraft: w->widget[1].unkA = STR_A009_AIRCRAFT;      break;
 						default: NOT_REACHED(); break;
 					}
+
+					if (owner != _local_player) break;	// only set up buttons for local player
+					if (vl->list_length == 0) SETBIT(w->disabled_state, 9);
+						if (vehicle_type == VEH_Aircraft) {
+							w->widget[9].unkA = STR_SEND_TO_HANGARS;
+							w->widget[9].tooltips = STR_SEND_TO_HANGARS_TIP;
+						} else {
+							w->widget[9].unkA = STR_SEND_TO_DEPOTS;
+							w->widget[9].tooltips = STR_SEND_TO_DEPOTS_TIP;
+						}
 					break;
 
 				case VLW_STATION_LIST: