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.
Denotes the \a type of the query

View File

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

View File

@ -170,7 +170,7 @@ public:
StandaloneDayNameShort, // 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;
inline qsizetype fallbackLocaleIndex() const;

View File

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

View File

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

View File

@ -43,7 +43,7 @@ void QAndroidSystemLocale::getLocaleFromJava() const
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) {
getLocaleFromJava();

View File

@ -15,7 +15,7 @@ class QAndroidSystemLocale : public QSystemLocale
public:
QAndroidSystemLocale();
QVariant query(QueryType type, QVariant in) const override;
QVariant query(QueryType type, QVariant &&in) const override;
QLocale fallbackLocale() const override;
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) {
case UILanguages: