(svn r13310) -Fix: invalidate OSK when parent editbox changes (from keyboard)
authorsmatz
Wed, 28 May 2008 15:28:27 +0000
changeset 9399 3090d36f3436
parent 9398 d60d75cb053d
child 9400 e0c0c8f6c958
(svn r13310) -Fix: invalidate OSK when parent editbox changes (from keyboard)
src/misc_gui.cpp
src/osk_gui.cpp
--- a/src/misc_gui.cpp	Wed May 28 14:36:06 2008 +0000
+++ b/src/misc_gui.cpp	Wed May 28 15:28:27 2008 +0000
@@ -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	Wed May 28 14:36:06 2008 +0000
+++ b/src/osk_gui.cpp	Wed May 28 15:28:27 2008 +0000
@@ -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[] = {