Pass QVariant to QSystemLocale::query() as rvalue reference

QVariant is rather big for passing by value; and no caller has any
further use for the QVariant it's passing in.

Pick-to: 6.5
Task-number: QTBUG-122619
Change-Id: I2751745e715aacfa8982ac97b4ae777fde5e88de
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit b68f1009187fee473f4c6477ec64300650e29904)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Edward Welbourne 2024-04-05 15:50:19 +02:00 committed by Qt Cherry-pick Bot
parent a07c718c17
commit 644eca89ed
9 changed files with 12 additions and 11 deletions

View File

@ -1153,7 +1153,7 @@
*/ */
/*! /*!
\fn QVariant QSystemLocale::query(QueryType type, QVariant in = QVariant()) const \fn QVariant QSystemLocale::query(QueryType type, QVariant &&in = QVariant()) const
Generic query method for locale data. Provides indirection. Generic query method for locale data. Provides indirection.
Denotes the \a type of the query Denotes the \a type of the query

View File

@ -573,7 +573,7 @@ static QLocale::Language codeToLanguage(QStringView s)
return QLocalePrivate::codeToLanguage(s); return QLocalePrivate::codeToLanguage(s);
} }
QVariant QSystemLocale::query(QueryType type, QVariant in) const QVariant QSystemLocale::query(QueryType type, QVariant &&in) const
{ {
QMacAutoReleasePool pool; QMacAutoReleasePool pool;

View File

@ -170,7 +170,7 @@ public:
StandaloneDayNameShort, // QString, in: int StandaloneDayNameShort, // QString, in: int
StandaloneDayNameNarrow // QString, in: int StandaloneDayNameNarrow // QString, in: int
}; };
virtual QVariant query(QueryType type, QVariant in = QVariant()) const; virtual QVariant query(QueryType type, QVariant &&in = QVariant()) const;
virtual QLocale fallbackLocale() const; virtual QLocale fallbackLocale() const;
inline qsizetype fallbackLocaleIndex() const; inline qsizetype fallbackLocaleIndex() const;

View File

@ -124,7 +124,7 @@ QLocale QSystemLocale::fallbackLocale() const
return QLocale(lang); return QLocale(lang);
} }
QVariant QSystemLocale::query(QueryType type, QVariant in) const QVariant QSystemLocale::query(QueryType type, QVariant &&in) const
{ {
QSystemLocaleData *d = qSystemLocaleData(); QSystemLocaleData *d = qSystemLocaleData();
@ -258,9 +258,10 @@ QVariant QSystemLocale::query(QueryType type, QVariant in) const
return d->uiLanguages.isEmpty() ? QVariant() : QVariant(d->uiLanguages); return d->uiLanguages.isEmpty() ? QVariant() : QVariant(d->uiLanguages);
} }
case StringToStandardQuotation: case StringToStandardQuotation:
return lc_messages.quoteString(qvariant_cast<QStringView>(in)); return lc_messages.quoteString(qvariant_cast<QStringView>(std::move(in)));
case StringToAlternateQuotation: case StringToAlternateQuotation:
return lc_messages.quoteString(qvariant_cast<QStringView>(in), QLocale::AlternateQuotation); return lc_messages.quoteString(qvariant_cast<QStringView>(std::move(in)),
QLocale::AlternateQuotation);
case ListToSeparatedString: case ListToSeparatedString:
return lc_messages.createSeparatedList(in.toStringList()); return lc_messages.createSeparatedList(in.toStringList());
case LocaleChanged: case LocaleChanged:

View File

@ -27,7 +27,7 @@ QStringList navigatorLanguages()
} }
QVariant QSystemLocale::query(QueryType query, QVariant in) const QVariant QSystemLocale::query(QueryType query, QVariant &&in) const
{ {
Q_UNUSED(in); Q_UNUSED(in);

View File

@ -828,7 +828,7 @@ QLocale QSystemLocale::fallbackLocale() const
return QLocale(QString::fromLatin1(getWinLocaleName())); return QLocale(QString::fromLatin1(getWinLocaleName()));
} }
QVariant QSystemLocale::query(QueryType type, QVariant in) const QVariant QSystemLocale::query(QueryType type, QVariant &&in) const
{ {
QSystemLocalePrivate *d = systemLocalePrivate(); QSystemLocalePrivate *d = systemLocalePrivate();
switch(type) { switch(type) {

View File

@ -43,7 +43,7 @@ void QAndroidSystemLocale::getLocaleFromJava() const
m_locale = QLocale(languageCode + u'_' + countryCode); m_locale = QLocale(languageCode + u'_' + countryCode);
} }
QVariant QAndroidSystemLocale::query(QueryType type, QVariant in) const QVariant QAndroidSystemLocale::query(QueryType type, QVariant &&in) const
{ {
if (type == LocaleChanged) { if (type == LocaleChanged) {
getLocaleFromJava(); getLocaleFromJava();

View File

@ -15,7 +15,7 @@ class QAndroidSystemLocale : public QSystemLocale
public: public:
QAndroidSystemLocale(); QAndroidSystemLocale();
QVariant query(QueryType type, QVariant in) const override; QVariant query(QueryType type, QVariant &&in) const override;
QLocale fallbackLocale() const override; QLocale fallbackLocale() const override;
private: private:

View File

@ -3973,7 +3973,7 @@ public:
{ {
} }
QVariant query(QueryType type, QVariant /*in*/) const override QVariant query(QueryType type, QVariant &&/*in*/) const override
{ {
switch (type) { switch (type) {
case UILanguages: case UILanguages: