summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPrasanth Ullattil <prasanth.ullattil@nokia.com>2010-09-30 11:45:00 (GMT)
committerPrasanth Ullattil <prasanth.ullattil@nokia.com>2010-09-30 11:57:43 (GMT)
commitfc50d7ecaacfbfef1dbefd6ffdc083cb66c5633c (patch)
treeb259ce27190855f2dcfb241a2c7694e8e86d53f3
parent9e9a7bc29319d52c3e563bc2c5282cb7e6890eba (diff)
downloadQt-fc50d7ecaacfbfef1dbefd6ffdc083cb66c5633c.zip
Qt-fc50d7ecaacfbfef1dbefd6ffdc083cb66c5633c.tar.gz
Qt-fc50d7ecaacfbfef1dbefd6ffdc083cb66c5633c.tar.bz2
QAxBase::dynamicCall() returns invalid QVariant
Starting from 4.7.0, QVariant is recognized as a standard type by the meta type system. ActiveQt needs to consider this while converting COM VARIANT types to a QVariant. Task-number: QTBUG-13845 Reviewed-by: Volker Hilsheimer Reviewed-by: Olivier Goffart
-rw-r--r--src/activeqt/shared/qaxtypes.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/activeqt/shared/qaxtypes.cpp b/src/activeqt/shared/qaxtypes.cpp
index 957733e..ff21a9f 100644
--- a/src/activeqt/shared/qaxtypes.cpp
+++ b/src/activeqt/shared/qaxtypes.cpp
@@ -1376,8 +1376,10 @@ QVariant VARIANTToQVariant(const VARIANT &arg, const QByteArray &typeName, uint
}
QVariant::Type proptype = (QVariant::Type)type;
- if (proptype == QVariant::Invalid && !typeName.isEmpty())
- proptype = QVariant::nameToType(typeName);
+ if (proptype == QVariant::Invalid && !typeName.isEmpty()) {
+ if (typeName != "QVariant")
+ proptype = QVariant::nameToType(typeName);
+ }
if (proptype != QVariant::LastType && proptype != QVariant::Invalid && var.type() != proptype) {
if (var.canConvert(proptype)) {
QVariant oldvar = var;