changeset 14547:92d5f8fd3be2 draft

(svn r19118) -Fix [FS#3593]: Some buttons in the order gui were raised too soon.
author alberth <alberth@openttd.org>
date Sat, 13 Feb 2010 14:00:45 +0000
parents 7d591ada6e0e
children 6a22379530fe
files src/order_gui.cpp
diffstat 1 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/order_gui.cpp
+++ b/src/order_gui.cpp
@@ -1297,13 +1297,15 @@
 
 	virtual void OnTimeout()
 	{
-		/* unclick all buttons except for the 'goto' button (ORDER_WIDGET_GOTO), which is 'persistent' */
-		for (uint i = 0; i < this->nested_array_size; i++) {
-			if (this->nested_array[i] != NULL && i != ORDER_WIDGET_GOTO &&
-					i != ORDER_WIDGET_SEL_TOP_LEFT && i != ORDER_WIDGET_SEL_TOP_MIDDLE && i != ORDER_WIDGET_SEL_TOP_RIGHT &&
-					i != ORDER_WIDGET_SEL_TOP_ROW && this->IsWidgetLowered(i)) {
-				this->RaiseWidget(i);
-				this->SetWidgetDirty(i);
+		static const int raise_widgets[] = {
+			ORDER_WIDGET_SKIP, ORDER_WIDGET_DELETE, ORDER_WIDGET_REFIT, ORDER_WIDGET_SHARED_ORDER_LIST, WIDGET_LIST_END,
+		};
+
+		/* Unclick all buttons in raise_widgets[]. */
+		for (const int *widnum = raise_widgets; *widnum != WIDGET_LIST_END; widnum++) {
+			if (this->IsWidgetLowered(*widnum)) {
+				this->RaiseWidget(*widnum);
+				this->SetWidgetDirty(*widnum);
 			}
 		}
 	}