summaryrefslogtreecommitdiffstats
path: root/src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp')
-rw-r--r--src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp b/src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp
index a66757907d..0e1fa59b90 100644
--- a/src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp
+++ b/src/tools/qdbuscpp2xml/qdbuscpp2xml.cpp
@@ -47,6 +47,7 @@
#include <qbuffer.h>
#include <qregexp.h>
#include <qvector.h>
+#include <qdebug.h>
#include <stdio.h>
#include <stdlib.h>
@@ -95,14 +96,14 @@ static const char help[] =
"\n";
-int qDBusParametersForMethod(const FunctionDef &mm, QVector<int>& metaTypes)
+int qDBusParametersForMethod(const FunctionDef &mm, QVector<int>& metaTypes, QString &errorMsg)
{
QList<QByteArray> parameterTypes;
foreach (const ArgumentDef &arg, mm.arguments)
parameterTypes.append(arg.normalizedType);
- return qDBusParametersForMethod(parameterTypes, metaTypes);
+ return qDBusParametersForMethod(parameterTypes, metaTypes, errorMsg);
}
@@ -140,9 +141,12 @@ static QString addFunction(const FunctionDef &mm, bool isSignal = false) {
}
QList<ArgumentDef> names = mm.arguments;
QVector<int> types;
- int inputCount = qDBusParametersForMethod(mm, types);
- if (inputCount == -1)
+ QString errorMsg;
+ int inputCount = qDBusParametersForMethod(mm, types, errorMsg);
+ if (inputCount == -1) {
+ qWarning() << qPrintable(errorMsg);
return QString(); // invalid form
+ }
if (isSignal && inputCount + 1 != types.count())
return QString(); // signal with output arguments?
if (isSignal && types.at(inputCount) == QDBusMetaTypeId::message())