diff options
author | Prasanth Ullattil <prasanth.ullattil@nokia.com> | 2009-04-01 13:51:17 (GMT) |
---|---|---|
committer | Prasanth Ullattil <prasanth.ullattil@nokia.com> | 2009-04-02 08:53:33 (GMT) |
commit | 578188ee7899bfabc5ab45758f59acafaa26cc8c (patch) | |
tree | 4fffdfc875877180def841a924b315619716c4f7 /src/activeqt/container | |
parent | 7a53f2071a6ef09993445b20d88206f3999302cb (diff) | |
download | Qt-578188ee7899bfabc5ab45758f59acafaa26cc8c.zip Qt-578188ee7899bfabc5ab45758f59acafaa26cc8c.tar.gz Qt-578188ee7899bfabc5ab45758f59acafaa26cc8c.tar.bz2 |
Wrong property type (QVariant&) generated by ActiveQt
This was due to an incorrect type defenition in the typelibrary for a
particular COM object. Enven in such cases we should not generate an
incorrect type.
Task-number: 248612
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@nokia.com>
Diffstat (limited to 'src/activeqt/container')
-rw-r--r-- | src/activeqt/container/qaxbase.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/activeqt/container/qaxbase.cpp b/src/activeqt/container/qaxbase.cpp index 1ec704a..44c3e9e 100644 --- a/src/activeqt/container/qaxbase.cpp +++ b/src/activeqt/container/qaxbase.cpp @@ -1660,11 +1660,15 @@ private: QMap<QByteArray, Property> property_list; void addProperty(const QByteArray &type, const QByteArray &name, uint flags) { + QByteArray propertyType(type); + if (propertyType.endsWith("&")) + propertyType.chop(1); + Property &prop = property_list[name]; - if (!type.isEmpty() && type != "HRESULT") { - prop.type = replaceType(type); - if (prop.type != type) - prop.realType = type; + if (!propertyType.isEmpty() && propertyType != "HRESULT") { + prop.type = replaceType(propertyType); + if (prop.type != propertyType) + prop.realType = propertyType; } if (flags & Writable) flags |= Stored; |