From 8d5c98ee873525a5dc06cb9fe3a40ec31870d2fe Mon Sep 17 00:00:00 2001 From: peter1138 Date: Sun, 1 Oct 2006 14:55:53 +0000 Subject: [PATCH] (svn r6607) - Fix (r6601): Fix selection of refit type when the list is scrolled. --- vehicle_gui.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vehicle_gui.c b/vehicle_gui.c index 57e6adf498..b70cc3ad4d 100644 --- a/vehicle_gui.c +++ b/vehicle_gui.c @@ -294,14 +294,14 @@ static RefitOption *DrawVehicleRefitWindow(const RefitList *list, int sel, uint uint i; /* Draw the list, and find the selected cargo (by its position in list) */ - for (i = pos; i < num_lines && i < pos + rows; i++) { + for (i = 0; i < num_lines; i++) { byte colour = 16; if (sel == 0) { selected = &refit[i]; colour = 12; } - if (i >= pos && y < rows * 10) { + if (i >= pos && i < pos + rows) { /* Draw the cargo name */ int last_x = DrawString(2, y, _cargoc.names_s[_local_cargo_id_ctype[refit[i].cargo]], colour); @@ -367,7 +367,7 @@ static void VehicleRefitWndProc(Window *w, WindowEvent *e) case 3: { // listbox int y = e->we.click.pt.y - w->widget[3].top; if (y >= 0) { - WP(w,refit_d).sel = y / (int)w->resize.step_height; + WP(w,refit_d).sel = (y / (int)w->resize.step_height) + w->vscroll.pos; SetWindowDirty(w); } } break;