From 18ed7174105d24e5db307de37347cc68356a8934 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 25 Jan 2009 22:16:08 +0000 Subject: (svn r15273) -Fix: OSK of the chat did not update the caret graphics --- src/misc_gui.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') 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) -- cgit v1.2.3-54-g00ecf