diff --git a/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp b/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp index d637854d2bb..1acb83df36b 100644 --- a/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp +++ b/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp @@ -1065,9 +1065,10 @@ void QDBusXmlToCpp::writeAdaptor(const QString &filename, if (usingInvokeMethod) { // we are using QMetaObject::invokeMethod - if (!returnType.isEmpty()) + if (!returnType.isEmpty()) { cs << " " << returnType << " " << argNames.at(method.inputArgs.size()) - << ";\n"; + << "{};\n"; + } static const char invoke[] = " QMetaObject::invokeMethod(parent(), \""; cs << invoke << name << "\""; diff --git a/tests/auto/tools/qdbusxml2cpp/tst_qdbusxml2cpp.cpp b/tests/auto/tools/qdbusxml2cpp/tst_qdbusxml2cpp.cpp index c51a0909f8d..db7d462014d 100644 --- a/tests/auto/tools/qdbusxml2cpp/tst_qdbusxml2cpp.cpp +++ b/tests/auto/tools/qdbusxml2cpp/tst_qdbusxml2cpp.cpp @@ -201,7 +201,9 @@ void tst_qdbusxml2cpp::process_data() .arg(basicTypeList[i].dbusType) << QRegularExpression(QString("Q_SLOTS:.*\\bQDBusPendingReply<%1> Method\\((const )?%1 ") .arg(basicTypeList[i].cppType), QRegularExpression::DotMatchesEverythingOption) - << QRegularExpression(QString("Q_SLOTS:.*\\b%1 Method\\((const )?%1 ") + << QRegularExpression(QString("Q_SLOTS:.*\\b%1 Method\\((const )?%1 &?in0\\);" + ".*%1 .*::Method\\((const )?%1 &?in0\\)\n{\n" + ".*%1 out0{};") .arg(basicTypeList[i].cppType), QRegularExpression::DotMatchesEverythingOption); } @@ -224,7 +226,9 @@ void tst_qdbusxml2cpp::process_data() "" << QRegularExpression("Q_SLOTS:.*\\bQDBusPendingReply Method\\(PointF ", QRegularExpression::DotMatchesEverythingOption) - << QRegularExpression("Q_SLOTS:.*\\bPoint Method\\(PointF ", + << QRegularExpression("Q_SLOTS:.*\\bPoint Method\\(PointF in0\\);" + ".*Point .*::Method\\(PointF in0\\)\n{\n" + ".*Point out0{};", QRegularExpression::DotMatchesEverythingOption); QTest::newRow("method-ss")