2d04ae4
--- qt-x11-free-3.3.8/src/kernel/qwidget_x11.cpp	2007-02-02 15:01:13.000000000 +0100
2d04ae4
+++ qt-x11-free-3.3.7/src/kernel/qwidget_x11.cpp	2006-10-19 16:25:16.000000000 +0200
2d04ae4
@@ -1442,7 +1442,16 @@
2d04ae4
     QWidget *tlw = topLevelWidget();
2d04ae4
     if ( tlw->isVisible() && !tlw->topData()->embedded && !qt_deferred_map_contains(tlw) ) {
2d04ae4
 	XSetInputFocus( x11Display(), tlw->winId(), RevertToNone, qt_x_time);
2d04ae4
-        focusInputContext();
2d04ae4
+
2d04ae4
+#ifndef QT_NO_XIM
2d04ae4
+	// trigger input context creation if it hasn't happened already
2d04ae4
+	createInputContext();
2d04ae4
+
2d04ae4
+	if (tlw->topData()->xic) {
2d04ae4
+	    QInputContext *qic = (QInputContext *) tlw->topData()->xic;
2d04ae4
+	    qic->setFocus();
2d04ae4
+	}
2d04ae4
+#endif
2d04ae4
     }
2d04ae4
 }
2d04ae4
 
2d04ae4
@@ -2717,16 +2726,14 @@
2d04ae4
 {
2d04ae4
 #ifndef QT_NO_XIM
2d04ae4
     QWidget *tlw = topLevelWidget();
2d04ae4
-    if (!tlw->isPopup() || isInputMethodEnabled()) {
2d04ae4
-        QTLWExtra *topdata = tlw->topData();
2d04ae4
+    QTLWExtra *topdata = tlw->topData();
2d04ae4
 
2d04ae4
-        // trigger input context creation if it hasn't happened already
2d04ae4
-        createInputContext();
2d04ae4
+    // trigger input context creation if it hasn't happened already
2d04ae4
+    createInputContext();
2d04ae4
 
2d04ae4
-        if (topdata->xic) {
2d04ae4
-            QInputContext *qic = (QInputContext *) topdata->xic;
2d04ae4
-            qic->setFocus();
2d04ae4
-        }
2d04ae4
+    if (topdata->xic) {
2d04ae4
+	QInputContext *qic = (QInputContext *) topdata->xic;
2d04ae4
+	qic->setFocus();
2d04ae4
     }
2d04ae4
 #endif // QT_NO_XIM
2d04ae4
 }
2d04ae4
--- qt-x11-free-3.3.8/src/widgets/qtextedit.cpp	2007-02-02 15:01:23.000000000 +0100
2d04ae4
+++ qt-x11-free-3.3.7/src/widgets/qtextedit.cpp	2006-10-19 16:25:34.000000000 +0200
2d04ae4
@@ -4972,10 +4972,6 @@
2d04ae4
 
2d04ae4
 void QTextEdit::setDocument( QTextDocument *dc )
2d04ae4
 {
2d04ae4
-    if ( dc == 0 ) {
2d04ae4
-        qWarning( "Q3TextEdit::setDocument() called with null Q3TextDocument pointer" );
2d04ae4
-        return;
2d04ae4
-    }
2d04ae4
     if ( dc == doc )
2d04ae4
 	return;
2d04ae4
     resetInputContext();
2d04ae4
--- qt-x11-free-3.3.8/src/widgets/qlineedit.cpp	2007-02-02 15:01:24.000000000 +0100
2d04ae4
+++ qt-x11-free-3.3.7/src/widgets/qlineedit.cpp	2006-10-19 16:25:36.000000000 +0200
2d04ae4
@@ -446,10 +446,10 @@
2d04ae4
     \property QLineEdit::text
2d04ae4
     \brief the line edit's text
2d04ae4
 
2d04ae4
-    Note that setting this property clears the selection, clears the
2d04ae4
-    undo/redo history, moves the cursor to the end of the line and
2d04ae4
-    resets the \c modified property to FALSE. The text is not
2d04ae4
-    validated when inserted with setText().
2d04ae4
+    Setting this property clears the selection, clears the undo/redo
2d04ae4
+    history, moves the cursor to the end of the line and resets the
2d04ae4
+    \c modified property to FALSE. The text is not validated when
2d04ae4
+    inserted with setText().
2d04ae4
 
2d04ae4
     The text is truncated to maxLength() length.
2d04ae4
 
2d04ae4
@@ -1002,9 +1002,6 @@
2d04ae4
 /*!
2d04ae4
     Selects text from position \a start and for \a length characters.
2d04ae4
 
2d04ae4
-    Note that this function sets the cursor's position to the end of
2d04ae4
-    the selection regardless of its current position.
2d04ae4
-
2d04ae4
     \sa deselect() selectAll() getSelection() cursorForward() cursorBackward()
2d04ae4
 */
2d04ae4