diff --git a/src/wayland/tools/generator.cpp b/src/wayland/tools/generator.cpp index 691ad95092..663ea8165e 100644 --- a/src/wayland/tools/generator.cpp +++ b/src/wayland/tools/generator.cpp @@ -1262,7 +1262,12 @@ void Generator::generateClientClassRequests(const Interface &interface) void Generator::generateClientCppRequests(const Interface &interface) { const auto requests = interface.requests(); - const QString templateString = QStringLiteral("void %1::%2(%3)\n{\n}\n\n"); + const QString templateString = QStringLiteral( +"void %1::%2(%3)\n" +"{\n" +" Q_ASSERT(isValid());\n" +" %4_%5(d->%6%7);\n" +"}\n\n"); const QString factoryTemplateString = QStringLiteral( "%2 *%1::%3(%4)\n" "{\n" @@ -1281,7 +1286,7 @@ void Generator::generateClientCppRequests(const Interface &interface) continue; } QString arguments; - QString factoredArguments; + QString requestArguments; bool first = true; QString factored; for (const auto &a: r.arguments()) { @@ -1296,18 +1301,20 @@ void Generator::generateClientCppRequests(const Interface &interface) } if (a.type() == Argument::Type::Object) { arguments.append(QStringLiteral("%1 *%2").arg(a.typeAsQt()).arg(toCamelCase(a.name()))); - if (!factored.isEmpty()) { - factoredArguments.append(QStringLiteral(", *%1").arg(toCamelCase(a.name()))); - } + requestArguments.append(QStringLiteral(", *%1").arg(toCamelCase(a.name()))); } else { arguments.append(QStringLiteral("%1 %2").arg(a.typeAsQt()).arg(toCamelCase(a.name()))); - if (!factored.isEmpty()) { - factoredArguments.append(QStringLiteral(", %1").arg(toCamelCase(a.name()))); - } + requestArguments.append(QStringLiteral(", %1").arg(toCamelCase(a.name()))); } } if (factored.isEmpty()) { - *m_stream.localData() << templateString.arg(interface.kwaylandClientName()).arg(toCamelCase(r.name())).arg(arguments); + *m_stream.localData() << templateString.arg(interface.kwaylandClientName()) + .arg(toCamelCase(r.name())) + .arg(arguments) + .arg(interface.name()) + .arg(r.name()) + .arg(interface.kwaylandClientName().toLower()) + .arg(requestArguments); } else { if (!first) { arguments.append(QStringLiteral(", ")); @@ -1320,7 +1327,7 @@ void Generator::generateClientCppRequests(const Interface &interface) .arg(interface.name()) .arg(r.name()) .arg(interface.kwaylandClientName().toLower()) - .arg(factoredArguments); + .arg(requestArguments); } } }