From b224b6006e823435297c2f0b82c835f5987f9b10 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko Date: Tue, 31 Mar 2009 13:40:34 +0200 Subject: Input Method cannot be enabled in License Wizard and Class Wizard Input methods didn't work properly wor widgets inside QWizardPage because the widget got focus before it was shown and input context wasn't initialized properly. The fix is to postpone qinputcontext->setFocusWidget call until the widget is created (input context will be initialized in the QWidget::create_sys function). Task-number: 244604 Reviewed-by: Prasanth Ullattil --- src/gui/inputmethod/qximinputcontext_x11.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/inputmethod/qximinputcontext_x11.cpp b/src/gui/inputmethod/qximinputcontext_x11.cpp index 1c8560f..c320fb4 100644 --- a/src/gui/inputmethod/qximinputcontext_x11.cpp +++ b/src/gui/inputmethod/qximinputcontext_x11.cpp @@ -437,7 +437,8 @@ void QXIMInputContext::create_xim() // reinitialize input context after the input method // server (like SCIM) has been launched without // requiring the user to manually switch focus. - if (focusWidget->testAttribute(Qt::WA_InputMethodEnabled)) + if (focusWidget->testAttribute(Qt::WA_InputMethodEnabled) + && focusWidget->testAttribute(Qt::WA_WState_Created)) setFocusWidget(focusWidget); } // following code fragment is not required for immodule -- cgit v0.12