diff options
Diffstat (limited to 'src/corelib/tools/qcollator_icu.cpp')
-rw-r--r-- | src/corelib/tools/qcollator_icu.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/corelib/tools/qcollator_icu.cpp b/src/corelib/tools/qcollator_icu.cpp index 1e94798c5b..ad98a187c5 100644 --- a/src/corelib/tools/qcollator_icu.cpp +++ b/src/corelib/tools/qcollator_icu.cpp @@ -39,6 +39,7 @@ ****************************************************************************/ #include "qcollator_p.h" +#include "qlocale_p.h" #include "qstringlist.h" #include "qstring.h" @@ -56,7 +57,7 @@ void QCollatorPrivate::init() cleanup(); UErrorCode status = U_ZERO_ERROR; - QByteArray name = locale.bcp47Name().replace(QLatin1Char('-'), QLatin1Char('_')).toLatin1(); + QByteArray name = QLocalePrivate::get(locale)->bcp47Name('_'); collator = ucol_open(name.constData(), &status); if (U_FAILURE(status)) { qWarning("Could not create collator: %d", status); @@ -144,7 +145,7 @@ QCollatorSortKey QCollator::sortKey(const QString &string) const string.size(), (uint8_t *)result.data(), result.size()); } result.truncate(size); - return QCollatorSortKey(new QCollatorSortKeyPrivate(result)); + return QCollatorSortKey(new QCollatorSortKeyPrivate(std::move(result))); } return QCollatorSortKey(new QCollatorSortKeyPrivate(QByteArray())); |