diff options
-rw-r--r-- | src/depot_gui.cpp | 3 | ||||
-rw-r--r-- | src/vehicle_gui.cpp | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp index 25d36b690..106d9c95f 100644 --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -821,7 +821,8 @@ struct DepotWindow : Window { */ virtual bool OnVehicleSelect(const Vehicle *v) { - if (DoCommandP(this->window_number, v->index, _ctrl_pressed ? 1 : 0, CMD_CLONE_VEHICLE | CMD_MSG(STR_ERROR_CAN_T_BUY_TRAIN + v->type), CcCloneVehicle)) { + /* Suppress the vehicle GUI when share-cloning. There is no point to it, starting vehicles can also be done via the depot GUI. */ + if (DoCommandP(this->window_number, v->index, _ctrl_pressed ? 1 : 0, CMD_CLONE_VEHICLE | CMD_MSG(STR_ERROR_CAN_T_BUY_TRAIN + v->type), _ctrl_pressed ? NULL : CcCloneVehicle)) { ResetObjectToPlace(); } return true; diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index f64a3cc47..19cc7d217 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -2525,9 +2525,13 @@ public: ShowVehicleDetailsWindow(v); break; case WID_VV_CLONE: // clone vehicle + /* Suppress the vehicle GUI when share-cloning. + * There is no point to it except for starting the vehicle. + * For starting the vehicle the player has to open the depot GUI, which is + * most likely already open, but is also visible in the vehicle viewport. */ DoCommandP(v->tile, v->index, _ctrl_pressed ? 1 : 0, _vehicle_command_translation_table[VCT_CMD_CLONE_VEH][v->type], - CcCloneVehicle); + _ctrl_pressed ? NULL : CcCloneVehicle); break; case WID_VV_TURN_AROUND: // turn around assert(v->IsGroundVehicle()); |