diff -r 56cd8111b7f7 -r 41300fa6a67c src/dbus/qdbusinterface.cpp --- a/src/dbus/qdbusinterface.cpp Tue Jan 26 12:42:25 2010 +0200 +++ b/src/dbus/qdbusinterface.cpp Tue Feb 02 00:43:10 2010 +0200 @@ -41,7 +41,7 @@ #include "qdbusinterface.h" -#include +#include "qdbus_symbols_p.h" #include #include @@ -157,7 +157,9 @@ if (!metaObject) { // creation failed, somehow - isValid = false; + // most common causes are that the service doesn't exist or doesn't support introspection + // those are not fatal errors, so we continue working + if (!lastError.isValid()) lastError = QDBusError(QDBusError::InternalError, QLatin1String("Unknown error")); } @@ -232,7 +234,7 @@ */ const QMetaObject *QDBusInterface::metaObject() const { - return d_func()->isValid ? d_func()->metaObject : &QDBusAbstractInterface::staticMetaObject; + return d_func()->metaObject ? d_func()->metaObject : &QDBusAbstractInterface::staticMetaObject; } /*!