diff -r cc8c3b02086e src/settings_gui.cpp --- a/src/settings_gui.cpp Sun Nov 16 12:00:29 2008 +0100 +++ b/src/settings_gui.cpp Sun Nov 16 12:05:30 2008 +0100 @@ -616,6 +616,7 @@ void Init(); PatchEntry *FindEntry(uint row) const; + byte Length() const; void Draw(GameSettings *patches_ptr, int base_x, int base_y, uint first_row, uint max_row) const; }; @@ -730,6 +731,11 @@ return NULL; return &entries[row]; +} + +byte PatchPage::Length() const +{ + return num; } /** @@ -932,7 +938,7 @@ page = 0; this->vscroll.pos = 0; this->vscroll.cap = (this->widget[PATCHSEL_OPTIONSPANEL].bottom - this->widget[PATCHSEL_OPTIONSPANEL].top - 8) / SETTING_HEIGHT; - SetVScrollCount(this, _patches_page[page].num); + SetVScrollCount(this, _patches_page[page].Length()); this->resize.step_height = SETTING_HEIGHT; this->resize.height = this->height; @@ -1051,7 +1057,7 @@ this->RaiseWidget(this->page + PATCHSEL_INTERFACE); this->page = widget - PATCHSEL_INTERFACE; this->LowerWidget(this->page + PATCHSEL_INTERFACE); - SetVScrollCount(this, _patches_page[page].num); + SetVScrollCount(this, _patches_page[page].Length()); DeleteWindowById(WC_QUERY_STRING, 0); this->SetDirty(); break; @@ -1085,7 +1091,7 @@ virtual void OnResize(Point new_size, Point delta) { this->vscroll.cap += delta.y / SETTING_HEIGHT; - SetVScrollCount(this, _patches_page[page].num); + SetVScrollCount(this, _patches_page[page].Length()); } };