diff options
author | Olivier Goffart <olivier.goffart@nokia.com> | 2010-09-28 11:14:23 (GMT) |
---|---|---|
committer | Olivier Goffart <olivier.goffart@nokia.com> | 2010-09-28 11:14:23 (GMT) |
commit | 38d7fb497eec5491e2d845e7eb5522dafc6ab42b (patch) | |
tree | 9b51ec779b10296ce1cc8ebae29d069c1d2edd55 /src/corelib/tools/qstring.cpp | |
parent | 2868302626b8a31f44df1068514485a89ec27171 (diff) | |
parent | 7b796b4dcdebfba55c4754d241edb334217fc550 (diff) | |
download | Qt-38d7fb497eec5491e2d845e7eb5522dafc6ab42b.zip Qt-38d7fb497eec5491e2d845e7eb5522dafc6ab42b.tar.gz Qt-38d7fb497eec5491e2d845e7eb5522dafc6ab42b.tar.bz2 |
Merge remote branch 'origin/4.7' into qt-master-from-4.7
Conflicts:
src/gui/painting/qrasterizer.cpp
src/network/access/qnetworkaccessmanager.cpp
tests/auto/qpainter/tst_qpainter.cpp
tools/assistant/tools/assistant/mainwindow.cpp
Diffstat (limited to 'src/corelib/tools/qstring.cpp')
-rw-r--r-- | src/corelib/tools/qstring.cpp | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index 7589f59..b4c6f57 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -6956,6 +6956,27 @@ QString QString::multiArg(int numArgs, const QString **args) const return result; } +static bool isStringRightToLeft(const ushort *p, const ushort *end) +{ + bool righttoleft = false; + while (p < end) { + switch(QChar::direction(*p)) + { + case QChar::DirL: + goto end; + case QChar::DirR: + case QChar::DirAL: + righttoleft = true; + goto end; + default: + break; + } + ++p; + } + end: + return righttoleft; +} + /*! \internal */ void QString::updateProperties() const @@ -6972,31 +6993,13 @@ void QString::updateProperties() const p++; } - d->righttoleft = isRightToLeft(); + d->righttoleft = isStringRightToLeft(d->data, d->data + d->size); d->clean = true; } bool QString::isRightToLeft() const { - ushort *p = d->data; - const ushort * const end = p + d->size; - bool righttoleft = false; - while (p < end) { - switch(QChar::direction(*p)) - { - case QChar::DirL: - goto end; - case QChar::DirR: - case QChar::DirAL: - righttoleft = true; - goto end; - default: - break; - } - ++p; - } - end: - return righttoleft; + return isStringRightToLeft(d->data, d->data + d->size); } /*! \fn bool QString::isSimpleText() const |