summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/osk_gui.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/osk_gui.cpp b/src/osk_gui.cpp
index d22a14ea4..1b2a825d4 100644
--- a/src/osk_gui.cpp
+++ b/src/osk_gui.cpp
@@ -147,20 +147,16 @@ struct OskWindow : public Window {
}
switch (widget) {
- case OSK_WIDGET_TEXT:
+ case OSK_WIDGET_TEXT: {
/* Find the edit box of the parent window and give focus to that */
- for (uint i = 0; i < this->parent->widget_count; i++) {
- Widget &wi = this->parent->widget[i];
- if (wi.type == WWT_EDITBOX) {
- this->parent->focused_widget = &wi;
- break;
- }
- }
+ const Widget *wi = this->parent->GetWidgetOfType(WWT_EDITBOX);
+ if (wi != NULL) this->parent->focused_widget = wi;
/* Give focus to parent window */
SetFocusedWindow(this->parent);
break;
+ }
case OSK_WIDGET_BACKSPACE:
if (DeleteTextBufferChar(&this->qs->text, WKC_BACKSPACE)) this->InvalidateParent();