src/gui/widgets/qlineedit.cpp
changeset 33 3e2da88830cd
parent 30 5dc02b23752f
child 37 758a864f9613
--- a/src/gui/widgets/qlineedit.cpp	Tue Jul 06 15:10:48 2010 +0300
+++ b/src/gui/widgets/qlineedit.cpp	Wed Aug 18 10:37:55 2010 +0300
@@ -1663,8 +1663,11 @@
     }
 #endif
     d->control->processKeyEvent(event);
-    if (event->isAccepted())
+    if (event->isAccepted()) {
+        if (layoutDirection() != d->control->layoutDirection())
+            setLayoutDirection(d->control->layoutDirection());
         d->control->setCursorBlinkPeriod(0);
+    }
 }
 
 /*!
@@ -1860,7 +1863,7 @@
     p.setClipRect(r);
 
     QFontMetrics fm = fontMetrics();
-    Qt::Alignment va = QStyle::visualAlignment(layoutDirection(), QFlag(d->alignment));
+    Qt::Alignment va = QStyle::visualAlignment(d->control->layoutDirection(), QFlag(d->alignment));
     switch (va & Qt::AlignVertical_Mask) {
      case Qt::AlignBottom:
          d->vscroll = r.y() + r.height() - fm.height() - d->verticalMargin;
@@ -2161,9 +2164,6 @@
         }
         update();
         break;
-    case QEvent::LayoutDirectionChange:
-        d->control->setLayoutDirection(layoutDirection());
-        break;
     default:
         break;
     }