diff options
Diffstat (limited to 'src/corelib/text/qcollator_win.cpp')
-rw-r--r-- | src/corelib/text/qcollator_win.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/corelib/text/qcollator_win.cpp b/src/corelib/text/qcollator_win.cpp index 45cf5488ad..b588f5ff46 100644 --- a/src/corelib/text/qcollator_win.cpp +++ b/src/corelib/text/qcollator_win.cpp @@ -57,8 +57,7 @@ int QCollator::compare(QStringView s1, QStringView s2) const if (d->isC()) return s1.compare(s2, d->caseSensitivity); - if (d->dirty) - d->init(); + d->ensureInitialized(); //* from Windows documentation * // Returns one of the following values if successful. To maintain the C @@ -92,11 +91,12 @@ int QCollator::compare(QStringView s1, QStringView s2) const QCollatorSortKey QCollator::sortKey(const QString &string) const { - if (d->dirty) - d->init(); + d->ensureInitialized(); + if (d->isC()) return QCollatorSortKey(new QCollatorSortKeyPrivate(string)); + // truncating sizes (QTBUG-105038) int size = LCMapStringW(d->localeID, LCMAP_SORTKEY | d->collator, reinterpret_cast<const wchar_t*>(string.constData()), string.size(), 0, 0); |