(svn r1617) -Fix: Ugly hack to only call ResetObjectToPlaceon childwindows of build-toolbar if the window is closed manually (with 'X'); if not checked ResetObjectToPlace is called twice resulting in undesired actions (eg. clicked button is unclicked immediately).
This commit is contained in:
		| @@ -179,9 +179,6 @@ static void BuildAirportPickerWndProc(Window *w, WindowEvent *e) | ||||
|  | ||||
| 	case WE_CLICK: { | ||||
| 		switch(e->click.widget) { | ||||
| 		case 0: | ||||
| 			ResetObjectToPlace(); | ||||
| 			break; | ||||
| 		case 3: case 4: case 5: case 6: case 7: | ||||
| 			_selected_airport_type = e->click.widget - 3; | ||||
| 			SndPlayFx(SND_15_BEEP); | ||||
| @@ -205,7 +202,8 @@ static void BuildAirportPickerWndProc(Window *w, WindowEvent *e) | ||||
| 	} break; | ||||
|  | ||||
| 	case WE_DESTROY: | ||||
| 		ResetObjectToPlace(); | ||||
| 		if (!WP(w,def_d).close) | ||||
| 			ResetObjectToPlace(); | ||||
| 		break; | ||||
| 	} | ||||
| } | ||||
|   | ||||
							
								
								
									
										12
									
								
								dock_gui.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								dock_gui.c
									
									
									
									
									
								
							| @@ -234,9 +234,6 @@ static void BuildDockStationWndProc(Window *w, WindowEvent *e) | ||||
|  | ||||
| 	case WE_CLICK: { | ||||
| 		switch(e->click.widget) { | ||||
| 		case 0: | ||||
| 			ResetObjectToPlace(); | ||||
| 			break; | ||||
| 		case 3: case 4: | ||||
| 			_station_show_coverage = e->click.widget - 3; | ||||
| 			SndPlayFx(SND_15_BEEP); | ||||
| @@ -256,7 +253,8 @@ static void BuildDockStationWndProc(Window *w, WindowEvent *e) | ||||
| 	} | ||||
|  | ||||
| 	case WE_DESTROY: | ||||
| 		ResetObjectToPlace(); | ||||
| 		if (!WP(w,def_d).close) | ||||
| 			ResetObjectToPlace(); | ||||
| 		break; | ||||
| 	} | ||||
| } | ||||
| @@ -307,9 +305,6 @@ static void BuildDocksDepotWndProc(Window *w, WindowEvent *e) | ||||
|  | ||||
| 	case WE_CLICK: { | ||||
| 		switch(e->click.widget) { | ||||
| 		case 0: | ||||
| 			ResetObjectToPlace(); | ||||
| 			break; | ||||
| 		case 3: | ||||
| 		case 4: | ||||
| 			_ship_depot_direction = e->click.widget - 3; | ||||
| @@ -326,7 +321,8 @@ static void BuildDocksDepotWndProc(Window *w, WindowEvent *e) | ||||
| 		break; | ||||
|  | ||||
| 	case WE_DESTROY: | ||||
| 		ResetObjectToPlace(); | ||||
| 		if (!WP(w,def_d).close) | ||||
| 			ResetObjectToPlace(); | ||||
| 		break; | ||||
| 	} | ||||
| } | ||||
|   | ||||
							
								
								
									
										17
									
								
								rail_gui.c
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								rail_gui.c
									
									
									
									
									
								
							| @@ -761,9 +761,6 @@ static void StationBuildWndProc(Window *w, WindowEvent *e) { | ||||
|  | ||||
| 	case WE_CLICK: { | ||||
| 		switch(e->click.widget) { | ||||
| 		case 0: | ||||
| 			ResetObjectToPlace(); | ||||
| 			break; | ||||
| 		case 3: | ||||
| 		case 4: | ||||
| 			_railstation.orientation = e->click.widget - 3; | ||||
| @@ -821,7 +818,8 @@ static void StationBuildWndProc(Window *w, WindowEvent *e) { | ||||
| 		} break; | ||||
|  | ||||
| 	case WE_DESTROY: | ||||
| 		ResetObjectToPlace(); | ||||
| 		if (!WP(w,def_d).close) | ||||
| 			ResetObjectToPlace(); | ||||
| 		break; | ||||
| 	} | ||||
| } | ||||
| @@ -888,13 +886,7 @@ static void BuildTrainDepotWndProc(Window *w, WindowEvent *e) | ||||
| 		} | ||||
| 	case WE_CLICK: { | ||||
| 		switch(e->click.widget) { | ||||
| 		case 0: | ||||
| 			ResetObjectToPlace(); | ||||
| 			break; | ||||
| 		case 3: | ||||
| 		case 4: | ||||
| 		case 5: | ||||
| 		case 6: | ||||
| 		case 3: case 4: case 5: case 6: | ||||
| 			_build_depot_direction = e->click.widget - 3; | ||||
| 			SndPlayFx(SND_15_BEEP); | ||||
| 			SetWindowDirty(w); | ||||
| @@ -908,7 +900,8 @@ static void BuildTrainDepotWndProc(Window *w, WindowEvent *e) | ||||
| 		return; | ||||
|  | ||||
| 	case WE_DESTROY: | ||||
| 		ResetObjectToPlace(); | ||||
| 		if (!WP(w,def_d).close) | ||||
| 			ResetObjectToPlace(); | ||||
| 		break; | ||||
| 	} | ||||
| } | ||||
|   | ||||
							
								
								
									
										29
									
								
								road_gui.c
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								road_gui.c
									
									
									
									
									
								
							| @@ -353,14 +353,8 @@ static void BuildRoadDepotWndProc(Window *w, WindowEvent *e) { | ||||
| 		break; | ||||
|  | ||||
| 	case WE_CLICK: { | ||||
| 		switch(e->click.widget) { | ||||
| 		case 0: | ||||
| 			ResetObjectToPlace(); | ||||
| 			break; | ||||
| 		case 3: | ||||
| 		case 4: | ||||
| 		case 5: | ||||
| 		case 6: | ||||
| 		switch (e->click.widget) { | ||||
| 		case 3: case 4: case 5: case 6: | ||||
| 			_road_depot_orientation = e->click.widget - 3; | ||||
| 			SndPlayFx(SND_15_BEEP); | ||||
| 			SetWindowDirty(w); | ||||
| @@ -374,7 +368,8 @@ static void BuildRoadDepotWndProc(Window *w, WindowEvent *e) { | ||||
| 		break; | ||||
|  | ||||
| 	case WE_DESTROY: | ||||
| 		ResetObjectToPlace(); | ||||
| 		if (!WP(w,def_d).close) | ||||
| 			ResetObjectToPlace(); | ||||
| 		break; | ||||
| 	} | ||||
| } | ||||
| @@ -436,20 +431,13 @@ static void RoadStationPickerWndProc(Window *w, WindowEvent *e) | ||||
| 	} break; | ||||
|  | ||||
| 	case WE_CLICK: { | ||||
| 		switch(e->click.widget) { | ||||
| 		case 0: | ||||
| 			ResetObjectToPlace(); | ||||
| 			break; | ||||
| 		case 3: | ||||
| 		case 4: | ||||
| 		case 5: | ||||
| 		case 6: | ||||
| 		switch (e->click.widget) { | ||||
| 		case 3: case 4: case 5: case 6: | ||||
| 			_road_station_picker_orientation = e->click.widget - 3; | ||||
| 			SndPlayFx(SND_15_BEEP); | ||||
| 			SetWindowDirty(w); | ||||
| 			break; | ||||
| 		case 7: | ||||
| 		case 8: | ||||
| 		case 7: case 8: | ||||
| 			_station_show_coverage = e->click.widget - 7; | ||||
| 			SndPlayFx(SND_15_BEEP); | ||||
| 			SetWindowDirty(w); | ||||
| @@ -467,7 +455,8 @@ static void RoadStationPickerWndProc(Window *w, WindowEvent *e) | ||||
| 	} break; | ||||
|  | ||||
| 	case WE_DESTROY: | ||||
| 		ResetObjectToPlace(); | ||||
| 		if (!WP(w,def_d).close) | ||||
| 			ResetObjectToPlace(); | ||||
| 		break; | ||||
| 	} | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 darkvater
					darkvater