diff -urN qt-2.3.4-snapshot-20030125.orig/src/kernel/qapplication_qws.cpp qt-2.3.4-snapshot-20030125/src/kernel/qapplication_qws.cpp --- qt-2.3.4-snapshot-20030125.orig/src/kernel/qapplication_qws.cpp Sat Jan 25 09:08:20 2003 +++ qt-2.3.4-snapshot-20030125/src/kernel/qapplication_qws.cpp Sat Jan 25 22:36:02 2003 @@ -3439,11 +3439,12 @@ QEvent enter( QEvent::Enter ); QApplication::sendEvent( widget, &enter ); (*mouseInWidget) = widget; +#ifndef QT_NO_QWS_IM + if ( e.type() == QEvent::MouseButtonPress && + !widget->topLevelWidget()->testWFlags( Qt::WStyle_Tool ) ) + QInputContext::reset( oldFocus ); +#endif } - - if ( e.type() == QEvent::MouseButtonPress && - !widget->topLevelWidget()->testWFlags( Qt::WStyle_Tool ) ) - QInputContext::reset( oldFocus ); QApplication::sendEvent( widget, &e ); } }