summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPrasanth Ullattil <prasanth.ullattil@nokia.com>2010-02-10 09:36:05 (GMT)
committerPrasanth Ullattil <prasanth.ullattil@nokia.com>2010-02-10 10:34:17 (GMT)
commit238528f67922d74bb951dae1a4a6a3745ce8b178 (patch)
tree1313eb1b48d1120dd8d3a5b6375c2f7e7e16580f
parent5be0f78985f73515645762b2895b6969be69a6e4 (diff)
downloadQt-238528f67922d74bb951dae1a4a6a3745ce8b178.zip
Qt-238528f67922d74bb951dae1a4a6a3745ce8b178.tar.gz
Qt-238528f67922d74bb951dae1a4a6a3745ce8b178.tar.bz2
Incorrect property setter generated by dumpcpp for Microsoft Word 2007.
This particular propery setter had multiple parameters (or is Array type property). An incorrect return type was set by the function generator. This patch clears the type name for such INVOKE_PROPERTYPUT functions, the return type will be void. Task-number: QTBUG-7571 Reviewed-by: Volker Hilsheimer
-rw-r--r--src/activeqt/container/qaxbase.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/activeqt/container/qaxbase.cpp b/src/activeqt/container/qaxbase.cpp
index 99447a9..02a29d9 100644
--- a/src/activeqt/container/qaxbase.cpp
+++ b/src/activeqt/container/qaxbase.cpp
@@ -2543,6 +2543,11 @@ void MetaObjectGenerator::readFuncsInfo(ITypeInfo *typeinfo, ushort nFuncs)
break;
}
if (funcdesc->invkind == INVOKE_PROPERTYPUT) {
+ // remove the typename guessed for property setters
+ // its done only for setter's with more than one parameter.
+ if (funcdesc->cParams - funcdesc->cParamsOpt > 1) {
+ type.clear();
+ }
QByteArray set;
if (isupper(prototype.at(0))) {
set = "Set";