Details
-
Bug
-
Resolution: Out of scope
-
P3: Somewhat important
-
3.x
-
None
Description
This leads to problems with inconsistent type libraries, where not enough overloads are generated.
A patch against Qt 3.3 (qaxbase.cpp) is
@@ -1884,7 +1884,7 @@
prototype += ptype.mid( 6 );
else
prototype += constRefify( ptype );
- if ( optional || pdesc.wParamFlags&PARAMFLAG_FHASDEFAULT)
+ if ( optional || pdesc.wParamFlags&(PARAMFLAG_FHASDEFAULT | PARAMFLAG_FOPT))
ptype += "=0";
paramTypes << ptype;
parameters << paramName;
And in Qt 4:
@@ -2324,7 +2324,7 @@
prototype += ptype;
if (pdesc.wParamFlags & PARAMFLAG_FOUT && !ptype.endsWith("&") && !ptype.endsWith("**")
)
prototype += "&";
- if (optional)
+ if (optional || pdesc.wParamFlags & PARAMFLAG_FOPT)
paramName += "=0";
else if (pdesc.wParamFlags & PARAMFLAG_FHASDEFAULT) {
// ### get the value from pdesc.pparamdescex