diff options
author | rubidium <rubidium@openttd.org> | 2009-01-25 22:16:08 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-01-25 22:16:08 +0000 |
commit | 18ed7174105d24e5db307de37347cc68356a8934 (patch) | |
tree | 9a42dbc05a5bb06d3aa14110fd1c24288ef80bb6 | |
parent | 7afd506301766c49289eb313bf8a1912cd50c2c0 (diff) | |
download | openttd-18ed7174105d24e5db307de37347cc68356a8934.tar.xz |
(svn r15273) -Fix: OSK of the chat did not update the caret graphics
-rw-r--r-- | src/misc_gui.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index bc588a447..99f9cf043 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -1004,7 +1004,15 @@ HandleEditBoxResult QueryString::HandleEditBoxKey(Window *w, int wid, uint16 key void QueryString::HandleEditBox(Window *w, int wid) { - if (HandleCaret(&this->text)) w->InvalidateWidget(wid); + if (HandleCaret(&this->text)) { + w->InvalidateWidget(wid); + /* When we're not the OSK, notify 'our' OSK to redraw the widget, + * so the caret changes appropriately. */ + if (w->window_class != WC_OSK) { + Window *w_osk = FindWindowById(WC_OSK, 0); + if (w_osk != NULL && w_osk->parent == w) w_osk->OnInvalidateData(); + } + } } void QueryString::DrawEditBox(Window *w, int wid) |