changeset 10983:8a29c7ff3279 draft

(svn r15322) -Fix (r15175): The AI list window didn't display information about the selected AI if it wasn't visible.
author Yexo <Yexo@openttd.org>
date Mon, 02 Feb 2009 22:57:22 +0000
parents bb9f7c744e3b
children 9ee7c201f361
files src/ai/ai_gui.cpp
diffstat 1 files changed, 6 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/ai/ai_gui.cpp
+++ b/src/ai/ai_gui.cpp
@@ -75,9 +75,6 @@
 		this->DrawWidgets();
 
 		/* Draw a list of all available AIs. */
-		AIInfoList::const_iterator it = this->ai_info_list->begin();
-		int i = 1;
-		for (; i < this->vscroll.pos; i++) it++;
 		int y = this->widget[AIL_WIDGET_LIST].top;
 		/* First AI in the list is hardcoded to random */
 		if (this->vscroll.pos == 0) {
@@ -85,10 +82,13 @@
 			y += 14;
 		}
 		AIInfo *selected_info = NULL;
-		for (; i < this->vscroll.pos + this->vscroll.cap && it != this->ai_info_list->end(); i++, it++) {
+		AIInfoList::const_iterator it = this->ai_info_list->begin();
+		for (int i = 1; it != this->ai_info_list->end(); i++, it++) {
 			if (this->selected == i - 1) selected_info = (*it).second;
-			DoDrawStringTruncated((*it).second->GetName(), 4, y + 3, (this->selected == i - 1) ? TC_WHITE : TC_BLACK, this->width - 8);
-			y += 14;
+			if (IsInsideBS(i, this->vscroll.pos, this->vscroll.cap)) {
+				DoDrawStringTruncated((*it).second->GetName(), 4, y + 3, (this->selected == i - 1) ? TC_WHITE : TC_BLACK, this->width - 8);
+				y += 14;
+			}
 		}
 
 		/* Some info about the currently selected AI. */