diff -r 2f34d5167611 -r fcece45ef507 src/gui/widgets/qlineedit_p.cpp --- a/src/gui/widgets/qlineedit_p.cpp Fri Apr 16 15:50:13 2010 +0300 +++ b/src/gui/widgets/qlineedit_p.cpp Mon May 03 13:17:34 2010 +0300 @@ -129,12 +129,12 @@ void QLineEditPrivate::_q_selectionChanged() { Q_Q(QLineEdit); - if (control->preeditAreaText().isEmpty()) { + if (!control->text().isEmpty() && control->preeditAreaText().isEmpty()) { QStyleOptionFrameV2 opt; q->initStyleOption(&opt); bool showCursor = control->hasSelectedText() ? q->style()->styleHint(QStyle::SH_BlinkCursorWhenTextSelected, &opt, q): - true; + q->hasFocus(); setCursorVisible(showCursor); }