the test fails to build with
...
"tst_qdbusconnection.cpp", line 301: Error: Could not find a match for QTest::qCompare<QTest::T>(QObject*, MyObject*, const char[29], const char[5], const char[24], int) needed in tst_QDBusConnection::registerObject().
"tst_qdbusconnection.cpp", line 498: Error: Could not find a match for QTest::qCompare<QTest::T>(QObject*, TestObject*, const char[39], const char[12], const char[24], int) needed in tst_QDBusConnection::callSelf().
the below patch fixed it for me:
--- tst_qdbusconnection.cpp.orig 2010-11-14 15:53:52.929540937 +0100 +++ tst_qdbusconnection.cpp 2010-11-14 16:00:28.021528834 +0100 @@ -298,7 +298,7 @@ // register one object at root: MyObject obj; QVERIFY(con.registerObject(path, &obj, QDBusConnection::ExportAllSlots)); - QCOMPARE(con.objectRegisteredAt(path), &obj); + QCOMPARE(con.objectRegisteredAt(path), static_cast<QObject *>(&obj)); QVERIFY(callMethod(con, path)); QCOMPARE(obj.path, path); } @@ -495,7 +495,7 @@ QDBusConnection connection = QDBusConnection::sessionBus(); QVERIFY(connection.registerObject("/test", &testObject, QDBusConnection::ExportAllContents)); - QCOMPARE(connection.objectRegisteredAt("/test"), &testObject); + QCOMPARE(connection.objectRegisteredAt("/test"), static_cast<QObject *>(&testObject)); QVERIFY(connection.registerService(serviceName())); QDBusInterface interface(serviceName(), "/test"); QVERIFY(interface.isValid());