changeset 15248:cd6b0a880252 draft

(svn r19883) -Fix [FS#3812]: dropdowns did affect positioning of new windows because they were not yet removed when the new windows were positioned
author rubidium <rubidium@openttd.org>
date Sat, 22 May 2010 19:04:56 +0000
parents 3c6d87622d1e
children 82df7442d0db
files src/widgets/dropdown.cpp
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/widgets/dropdown.cpp
+++ b/src/widgets/dropdown.cpp
@@ -281,6 +281,9 @@
 		}
 
 		if (this->click_delay != 0 && --this->click_delay == 0) {
+			/* Make the dropdown "invisible", so it doesn't affect new window placement. */
+			this->window_class = WC_INVALID;
+
 			w2->OnDropdownSelect(this->parent_button, this->selected_index);
 			delete this;
 			return;
@@ -293,6 +296,9 @@
 				this->drag_mode = false;
 				if (!this->GetDropDownItem(item)) {
 					if (this->instant_close) {
+						/* Make the dropdown "invisible", so it doesn't affect new window placement. */
+						this->window_class = WC_INVALID;
+
 						if (GetWidgetFromPos(w2, _cursor.pos.x - w2->left, _cursor.pos.y - w2->top) == this->parent_button) {
 							/* Send event for selected option if we're still
 							 * on the parent button of the list. */