diff options
author | smatz <smatz@openttd.org> | 2008-05-28 15:28:27 +0000 |
---|---|---|
committer | smatz <smatz@openttd.org> | 2008-05-28 15:28:27 +0000 |
commit | 3f000be67001c25d0beccd86de09d3f81aa7200d (patch) | |
tree | ff3f7bc2a7c47e268c3a4f05feffa64a42242f99 | |
parent | f740702f90314e5575eac2c200b05cc5983985c3 (diff) | |
download | openttd-3f000be67001c25d0beccd86de09d3f81aa7200d.tar.xz |
(svn r13310) -Fix: invalidate OSK when parent editbox changes (from keyboard)
-rw-r--r-- | src/misc_gui.cpp | 5 | ||||
-rw-r--r-- | src/osk_gui.cpp | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 24829904c..c28f7ee20 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -1083,6 +1083,11 @@ struct QueryStringWindow : public QueryStringBaseWindow { 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 diff --git a/src/osk_gui.cpp b/src/osk_gui.cpp index bd7bc16bd..2f1bc41ea 100644 --- a/src/osk_gui.cpp +++ b/src/osk_gui.cpp @@ -203,6 +203,11 @@ struct OskWindow : public Window { /* 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[] = { |