changeset 9399:617011acf06f draft

(svn r13310) -Fix: invalidate OSK when parent editbox changes (from keyboard)
author smatz <smatz@openttd.org>
date Wed, 28 May 2008 15:28:27 +0000
parents 3654ab08effd
children 804990bdcd3f
files src/misc_gui.cpp src/osk_gui.cpp
diffstat 2 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/misc_gui.cpp
+++ b/src/misc_gui.cpp
@@ -1083,6 +1083,11 @@
 	{
 		EventState state;
 		switch (this->HandleEditBoxKey(QUERY_STR_WIDGET_TEXT, key, keycode, state)) {
+			default: NOT_REACHED();
+			case 0: {
+				Window *osk = FindWindowById(WC_OSK, 0);
+				if (osk != NULL && osk->parent == this) osk->OnInvalidateData();
+			} break;
 			case 1: this->OnOk(); // Enter pressed, confirms change
 			/* FALL THROUGH */
 			case 2: delete this; break; // ESC pressed, closes window, abandons changes
--- a/src/osk_gui.cpp
+++ b/src/osk_gui.cpp
@@ -203,6 +203,11 @@
 		/* make the caret of the parent window also blink */
 		this->parent->InvalidateWidget(this->text_btn);
 	}
+
+	virtual void OnInvalidateData(int)
+	{
+		this->InvalidateWidget(OSK_WIDGET_TEXT);
+	}
 };
 
 static const Widget _osk_widgets[] = {