summaryrefslogtreecommitdiffstats
path: root/src/activeqt/container
diff options
context:
space:
mode:
authorPrasanth Ullattil <prasanth.ullattil@nokia.com>2009-04-01 13:51:17 (GMT)
committerPrasanth Ullattil <prasanth.ullattil@nokia.com>2009-04-02 08:53:33 (GMT)
commit578188ee7899bfabc5ab45758f59acafaa26cc8c (patch)
tree4fffdfc875877180def841a924b315619716c4f7 /src/activeqt/container
parent7a53f2071a6ef09993445b20d88206f3999302cb (diff)
downloadQt-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.cpp12
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;