summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qstring.cpp
diff options
context:
space:
mode:
authorOlivier Goffart <olivier.goffart@nokia.com>2010-09-28 11:14:23 (GMT)
committerOlivier Goffart <olivier.goffart@nokia.com>2010-09-28 11:14:23 (GMT)
commit38d7fb497eec5491e2d845e7eb5522dafc6ab42b (patch)
tree9b51ec779b10296ce1cc8ebae29d069c1d2edd55 /src/corelib/tools/qstring.cpp
parent2868302626b8a31f44df1068514485a89ec27171 (diff)
parent7b796b4dcdebfba55c4754d241edb334217fc550 (diff)
downloadQt-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.cpp43
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