diff --git a/src/company_gui.cpp b/src/company_gui.cpp index 0be6679583..4d394203d4 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -2381,7 +2381,7 @@ struct CompanyWindow : Window virtual void OnPlaceObject(Point pt, TileIndex tile) { - if (DoCommandP(tile, OBJECT_HQ, 0, CMD_BUILD_OBJECT | CMD_MSG(STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS))) { + if (DoCommandP(tile, OBJECT_HQ, 0, CMD_BUILD_OBJECT | CMD_MSG(STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS)) && !_shift_pressed) { ResetObjectToPlace(); this->RaiseButtons(); } diff --git a/src/engine_gui.cpp b/src/engine_gui.cpp index 070ad67275..d1ccd3bf42 100644 --- a/src/engine_gui.cpp +++ b/src/engine_gui.cpp @@ -128,7 +128,7 @@ struct EnginePreviewWindow : Window { DoCommandP(0, this->window_number, 0, CMD_WANT_ENGINE_PREVIEW); /* FALL THROUGH */ case WID_EP_NO: - delete this; + if (!_shift_pressed) delete this; break; } }