summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2022-07-28 08:56:59 -0700
committerThiago Macieira <thiago.macieira@intel.com>2022-07-28 22:08:07 -0700
commit1425ad2cce87385fd1892b905895ae1137cb122d (patch)
tree2aa31c91422b86cc430f12a527d17250aa96344a /src/corelib/kernel
parentd528e96e732d9d66ec4e3b17aa07cd6d396c25be (diff)
QVariant: move d.get() into qNumVariantToHelper
Until we've checked the stored meta type, we don't know what the Private contains. We only formed a reference to said value, so we should be safe, but why tempt it? Change-Id: I6f936da6f6e84d649f70fffd1706095fc6228755 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Lars Knoll <lars.knoll@gmail.com>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r--src/corelib/kernel/qvariant.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp
index 1e72321ff2..fa8bc16fb4 100644
--- a/src/corelib/kernel/qvariant.cpp
+++ b/src/corelib/kernel/qvariant.cpp
@@ -1759,14 +1759,14 @@ QBitArray QVariant::toBitArray() const
}
template <typename T>
-inline T qNumVariantToHelper(const QVariant::Private &d, bool *ok, const T& val)
+inline T qNumVariantToHelper(const QVariant::Private &d, bool *ok)
{
QMetaType t = QMetaType::fromType<T>();
if (ok)
*ok = true;
if (d.type() == t)
- return val;
+ return d.get<T>();
T ret = 0;
bool success = QMetaType::convert(d.type(), d.storage(), t, &ret);
@@ -1794,7 +1794,7 @@ inline T qNumVariantToHelper(const QVariant::Private &d, bool *ok, const T& val)
*/
int QVariant::toInt(bool *ok) const
{
- return qNumVariantToHelper<int>(d, ok, d.get<int>());
+ return qNumVariantToHelper<int>(d, ok);
}
/*!
@@ -1816,7 +1816,7 @@ int QVariant::toInt(bool *ok) const
*/
uint QVariant::toUInt(bool *ok) const
{
- return qNumVariantToHelper<uint>(d, ok, d.get<unsigned int>());
+ return qNumVariantToHelper<uint>(d, ok);
}
/*!
@@ -1833,7 +1833,7 @@ uint QVariant::toUInt(bool *ok) const
*/
qlonglong QVariant::toLongLong(bool *ok) const
{
- return qNumVariantToHelper<qlonglong>(d, ok, d.get<qlonglong>());
+ return qNumVariantToHelper<qlonglong>(d, ok);
}
/*!
@@ -1850,7 +1850,7 @@ qlonglong QVariant::toLongLong(bool *ok) const
*/
qulonglong QVariant::toULongLong(bool *ok) const
{
- return qNumVariantToHelper<qulonglong>(d, ok, d.get<qulonglong>());
+ return qNumVariantToHelper<qulonglong>(d, ok);
}
/*!
@@ -1890,7 +1890,7 @@ bool QVariant::toBool() const
*/
double QVariant::toDouble(bool *ok) const
{
- return qNumVariantToHelper<double>(d, ok, d.get<double>());
+ return qNumVariantToHelper<double>(d, ok);
}
/*!
@@ -1909,7 +1909,7 @@ double QVariant::toDouble(bool *ok) const
*/
float QVariant::toFloat(bool *ok) const
{
- return qNumVariantToHelper<float>(d, ok, d.get<float>());
+ return qNumVariantToHelper<float>(d, ok);
}
/*!
@@ -1928,7 +1928,7 @@ float QVariant::toFloat(bool *ok) const
*/
qreal QVariant::toReal(bool *ok) const
{
- return qNumVariantToHelper<qreal>(d, ok, d.get<qreal>());
+ return qNumVariantToHelper<qreal>(d, ok);
}
/*!