From 52c7d9897e8fac2516f35b94b0a8d2ef5b001d1f Mon Sep 17 00:00:00 2001 From: alberth Date: Wed, 23 Dec 2009 10:12:43 +0000 Subject: [PATCH] (svn r18612) -Fix [FS#3407]: Buy vehicle window did not properly disable panel drawing while shaded. --- src/build_vehicle_gui.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index 50a1ffd492..82e8c54037 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -1119,20 +1119,22 @@ struct BuildVehicleWindow : Window { this->DrawWidgets(); - int needed_height = this->details_height; - /* Draw details panels. */ - for (int side = 0; side < 2; side++) { - if (this->sel_engine != INVALID_ENGINE) { - NWidgetBase *nwi = this->GetWidget(BUILD_VEHICLE_WIDGET_PANEL); - int text_end = DrawVehiclePurchaseInfo(nwi->pos_x + WD_FRAMETEXT_LEFT, nwi->pos_x + nwi->current_x - WD_FRAMETEXT_RIGHT, - nwi->pos_y + WD_FRAMERECT_TOP, this->sel_engine); - needed_height = max(needed_height, text_end - (int)nwi->pos_y + WD_FRAMERECT_BOTTOM); + if (!this->IsShaded()) { + int needed_height = this->details_height; + /* Draw details panels. */ + for (int side = 0; side < 2; side++) { + if (this->sel_engine != INVALID_ENGINE) { + NWidgetBase *nwi = this->GetWidget(BUILD_VEHICLE_WIDGET_PANEL); + int text_end = DrawVehiclePurchaseInfo(nwi->pos_x + WD_FRAMETEXT_LEFT, nwi->pos_x + nwi->current_x - WD_FRAMETEXT_RIGHT, + nwi->pos_y + WD_FRAMERECT_TOP, this->sel_engine); + needed_height = max(needed_height, text_end - (int)nwi->pos_y + WD_FRAMERECT_BOTTOM); + } + } + if (needed_height != this->details_height) { // Details window are not high enough, enlarge them. + this->details_height = needed_height; + this->ReInit(); + return; } - } - if (!this->IsShaded() && needed_height != this->details_height) { // Details window are not high enough, enlarge them. - this->details_height = needed_height; - this->ReInit(); - return; } }