summaryrefslogtreecommitdiff
path: root/rail_gui.c
diff options
context:
space:
mode:
authorglx <glx@openttd.org>2006-10-15 16:56:58 +0000
committerglx <glx@openttd.org>2006-10-15 16:56:58 +0000
commit5a1ee9e02b21b6be130beda5d2c6a51c8b00239f (patch)
treea256f1fc46d642506e75c9ef3568878a97d7c4b6 /rail_gui.c
parent678b44d976b770d9debea187d739c4b499a7f2b7 (diff)
downloadopenttd-5a1ee9e02b21b6be130beda5d2c6a51c8b00239f.tar.xz
(svn r6779) -Fix r6631: waypoint selector now correctly shows the current selected waypoint type (thx Maedhros)
Diffstat (limited to 'rail_gui.c')
-rw-r--r--rail_gui.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/rail_gui.c b/rail_gui.c
index 2361ddeb7..c6b277047 100644
--- a/rail_gui.c
+++ b/rail_gui.c
@@ -1027,15 +1027,17 @@ static void ShowBuildTrainDepotPicker(void)
static void BuildWaypointWndProc(Window *w, WindowEvent *e)
{
switch (e->event) {
- case WE_CREATE: LowerWindowWidget(w, _cur_waypoint_type - w->hscroll.pos); break;
-
case WE_PAINT: {
uint i;
+ for (i = 0; i < w->hscroll.cap; i++) {
+ SetWindowWidgetLoweredState(w, i + 3, (w->hscroll.pos + i) == _cur_waypoint_type);
+ }
+
DrawWindowWidgets(w);
- for (i = 0; i < 5; i++) {
- if (w->hscroll.pos + i < _waypoint_count) {
+ for (i = 0; i < w->hscroll.cap; i++) {
+ if (w->hscroll.pos + i < w->hscroll.count) {
const StationSpec *statspec = GetCustomStationSpec(STAT_CLASS_WAYP, w->hscroll.pos + i);
DrawWaypointSprite(2 + i * 68, 25, w->hscroll.pos + i, _cur_railtype);
@@ -1060,9 +1062,7 @@ static void BuildWaypointWndProc(Window *w, WindowEvent *e)
HASBIT(statspec->callbackmask, CBM_STATION_AVAIL) &&
GetStationCallback(CBID_STATION_AVAILABILITY, 0, 0, statspec, NULL, INVALID_TILE) == 0) return;
- RaiseWindowWidget(w, _cur_waypoint_type - w->hscroll.pos);
_cur_waypoint_type = type;
- LowerWindowWidget(w, _cur_waypoint_type - w->hscroll.pos);
SndPlayFx(SND_15_BEEP);
SetWindowDirty(w);
break;