From 7668633f9262315be8191202d03b47600ae19437 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sun, 25 Jan 2009 22:16:08 +0000 Subject: [PATCH] (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(-) diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index bc588a447a..99f9cf043d 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)