src/rail_gui.cpp
changeset 7092 3fa66ad549c8
parent 6949 72d11a1e1e60
child 7165 37eb253f3c06
child 9624 b71483f2330f
--- a/src/rail_gui.cpp	Mon May 07 16:38:21 2007 +0000
+++ b/src/rail_gui.cpp	Mon May 07 17:10:30 2007 +0000
@@ -151,7 +151,7 @@
 static void PlaceRail_Station(TileIndex tile)
 {
 	if (_remove_button_clicked) {
-		DoCommandP(tile, 0, 0, CcPlaySound1E, CMD_REMOVE_FROM_RAILROAD_STATION | CMD_MSG(STR_CANT_REMOVE_PART_OF_STATION));
+		VpStartPlaceSizing(tile, VPM_X_AND_Y | GUI_PlaceProc_RemoveFromStation);
 	} else if (_railstation.dragdrop) {
 		VpStartPlaceSizing(tile, VPM_X_AND_Y_LIMITED);
 		VpSetPlaceSizingLimit(_patches.station_spread);
@@ -514,8 +514,13 @@
 			} else if ((e->we.place.userdata & 0xF) == VPM_X_AND_Y) {
 				if (GUIPlaceProcDragXY(e)) break;
 
-				if ((e->we.place.userdata >> 4) == GUI_PlaceProc_ConvertRailArea >> 4)
+				if ((e->we.place.userdata >> 4) == GUI_PlaceProc_RemoveFromStation >> 4) {
+					DoCommandP(end_tile, start_tile, 0, CcPlaySound1E, CMD_REMOVE_FROM_RAILROAD_STATION | CMD_MSG(STR_CANT_REMOVE_PART_OF_STATION));
+				}
+
+				if ((e->we.place.userdata >> 4) == GUI_PlaceProc_ConvertRailArea >> 4) {
 					DoCommandP(end_tile, start_tile, _cur_railtype, CcPlaySound10, CMD_CONVERT_RAIL | CMD_MSG(STR_CANT_CONVERT_RAIL));
+				}
 			} else if (e->we.place.userdata == VPM_X_AND_Y_LIMITED) {
 				HandleStationPlacement(start_tile, end_tile);
 			} else {