diff options
Diffstat (limited to 'src/dbus/qdbusabstractadaptor.cpp')
-rw-r--r-- | src/dbus/qdbusabstractadaptor.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/dbus/qdbusabstractadaptor.cpp b/src/dbus/qdbusabstractadaptor.cpp index 02ff40068b..5ab478e1bd 100644 --- a/src/dbus/qdbusabstractadaptor.cpp +++ b/src/dbus/qdbusabstractadaptor.cpp @@ -274,7 +274,7 @@ void QDBusAdaptorConnector::polish() } // sort the adaptor list - qSort(adaptors); + std::sort(adaptors.begin(), adaptors.end()); } void QDBusAdaptorConnector::relaySlot(void **argv) @@ -307,15 +307,18 @@ void QDBusAdaptorConnector::relay(QObject *senderObj, int lastSignalIdx, void ** // break down the parameter list QVector<int> types; - int inputCount = qDBusParametersForMethod(mm, types); - if (inputCount == -1) + QString errorMsg; + int inputCount = qDBusParametersForMethod(mm, types, errorMsg); + if (inputCount == -1) { // invalid signal signature - // qDBusParametersForMethod has already complained + qWarning("QDBusAbstractAdaptor: Cannot relay signal %s::%s: %s", + senderMetaObject->className(), mm.methodSignature().constData(), + qPrintable(errorMsg)); return; + } if (inputCount + 1 != types.count() || types.at(inputCount) == QDBusMetaTypeId::message()) { // invalid signal signature - // qDBusParametersForMethod has not yet complained about this one qWarning("QDBusAbstractAdaptor: Cannot relay signal %s::%s", senderMetaObject->className(), mm.methodSignature().constData()); return; |