# HG changeset patch # User rubidium # Date 2010-11-12 16:29:09 # Node ID b3ddf72c86ef2b57acb86fbfc31db2b702830cf6 # Parent b4b961c8779caaf3d08cc3a5b1e790aa43dc87bd (svn r21151) -Fix [FS#4221]: Sort arrow wasn't accounted for in two windows causing it to be overwritten by the "sort by" string diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -28,6 +28,7 @@ #include "widgets/dropdown_func.h" #include "engine_gui.h" #include "cargotype.h" +#include "core/geometry_func.hpp" #include "table/strings.h" @@ -1261,6 +1262,14 @@ struct BuildVehicleWindow : Window { case BUILD_VEHICLE_WIDGET_PANEL: size->height = this->details_height; break; + + case BUILD_VEHICLE_WIDGET_SORT_ASSENDING_DESCENDING: { + Dimension d = GetStringBoundingBox(this->GetWidget(widget)->widget_data); + d.width += padding.width + WD_SORTBUTTON_ARROW_WIDTH * 2; // Doubled since the string is centred and it also looks better. + d.height += padding.height; + *size = maxdim(*size, d); + break; + } } } diff --git a/src/fios_gui.cpp b/src/fios_gui.cpp --- a/src/fios_gui.cpp +++ b/src/fios_gui.cpp @@ -26,6 +26,7 @@ #include "engine_func.h" #include "landscape_type.h" #include "date_func.h" +#include "core/geometry_func.hpp" #include "table/sprites.h" #include "table/strings.h" @@ -475,6 +476,14 @@ public: resize->height = FONT_HEIGHT_NORMAL; size->height = resize->height * 10 + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM; break; + case SLWW_SORT_BYNAME: + case SLWW_SORT_BYDATE: { + Dimension d = GetStringBoundingBox(this->GetWidget(widget)->widget_data); + d.width += padding.width + WD_SORTBUTTON_ARROW_WIDTH * 2; // Doubled since the string is centred and it also looks better. + d.height += padding.height; + *size = maxdim(*size, d); + break; + } } }