From 5a1ee9e02b21b6be130beda5d2c6a51c8b00239f Mon Sep 17 00:00:00 2001 From: glx Date: Sun, 15 Oct 2006 16:56:58 +0000 Subject: (svn r6779) -Fix r6631: waypoint selector now correctly shows the current selected waypoint type (thx Maedhros) --- rail_gui.c | 12 ++++++------ 1 file 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; -- cgit v1.2.3-70-g09d2