@@ -1157,30 +1157,34 @@ void Generator::generateStaticMetacall()
1157
1157
}
1158
1158
1159
1159
}
1160
- if (!cdef-> signalList .isEmpty ()) {
1161
- Q_ASSERT (needElse); // if there is signal, there was method.
1160
+ if (!methodList .isEmpty ()) {
1161
+ Q_ASSERT (needElse); // there was method.
1162
1162
fprintf (out, " else if (_c == QMetaObject::IndexOfMethod) {\n " );
1163
1163
fprintf (out, " int *result = reinterpret_cast<int *>(_a[0]);\n " );
1164
1164
bool anythingUsed = false ;
1165
- for (int methodindex = 0 ; methodindex < cdef-> signalList .size (); ++methodindex) {
1166
- const FunctionDef &f = cdef-> signalList .at (methodindex);
1165
+ for (int methodindex = 0 ; methodindex < methodList .size (); ++methodindex) {
1166
+ const FunctionDef &f = methodList .at (methodindex);
1167
1167
if (f.wasCloned || !f.inPrivateClass .isEmpty () || f.isStatic )
1168
1168
continue ;
1169
1169
anythingUsed = true ;
1170
1170
fprintf (out, " {\n " );
1171
1171
fprintf (out, " using _t = %s (%s::*)(" ,f.type .rawName .constData () , cdef->classname .constData ());
1172
1172
1173
- int argsCount = f.arguments .count ();
1174
- for (int j = 0 ; j < argsCount; ++j) {
1175
- const ArgumentDef &a = f.arguments .at (j);
1176
- if (j)
1177
- fprintf (out, " , " );
1178
- fprintf (out, " %s" , QByteArray (a.type .name + ' ' + a.rightType ).constData ());
1179
- }
1180
- if (f.isPrivateSignal ) {
1181
- if (argsCount > 0 )
1182
- fprintf (out, " , " );
1183
- fprintf (out, " %s" , " QPrivateSignal" );
1173
+ if (f.isRawSlot ) {
1174
+ fprintf (out, " QMethodRawArguments" );
1175
+ } else {
1176
+ int argsCount = f.arguments .count ();
1177
+ for (int j = 0 ; j < argsCount; ++j) {
1178
+ const ArgumentDef &a = f.arguments .at (j);
1179
+ if (j)
1180
+ fprintf (out, " , " );
1181
+ fprintf (out, " %s" , QByteArray (a.type .name + ' ' + a.rightType ).constData ());
1182
+ }
1183
+ if (f.isPrivateSignal ) {
1184
+ if (argsCount > 0 )
1185
+ fprintf (out, " , " );
1186
+ fprintf (out, " %s" , " QPrivateSignal" );
1187
+ }
1184
1188
}
1185
1189
if (f.isConst )
1186
1190
fprintf (out, " ) const;\n " );
0 commit comments