Fix dangling pointer dereferencing
That long call chain is screaming "here, I'm dereferencing dangling pointers! Valgrind me!" but 2006 Thiago didn't see them... Change-Id: I44de5aea113d05edec2227e9db6be8cec9303be9 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
This commit is contained in:
parent
a982243b97
commit
e0e86d5651
@ -367,11 +367,11 @@ void emitSignalPeer(const QString &interface, const QString &name, const QVarian
|
|||||||
QTest::qWait(1000);
|
QTest::qWait(1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* slotSpyPeer()
|
QString slotSpyPeer()
|
||||||
{
|
{
|
||||||
QDBusMessage req = QDBusMessage::createMethodCall(serviceName, objectPath, interfaceName, "slotSpyServer");
|
QDBusMessage req = QDBusMessage::createMethodCall(serviceName, objectPath, interfaceName, "slotSpyServer");
|
||||||
QDBusMessage reply = QDBusConnection::sessionBus().call(req);
|
QDBusMessage reply = QDBusConnection::sessionBus().call(req);
|
||||||
return reply.arguments().at(0).toString().toLatin1().data();
|
return reply.arguments().at(0).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString valueSpyPeer()
|
QString valueSpyPeer()
|
||||||
@ -1108,7 +1108,7 @@ void tst_QDBusAbstractAdaptor::methodCallsPeer()
|
|||||||
|
|
||||||
// simple call: one such method exists
|
// simple call: one such method exists
|
||||||
QCOMPARE(if2.call(QDBus::BlockWithGui, "method").type(), QDBusMessage::ReplyMessage);
|
QCOMPARE(if2.call(QDBus::BlockWithGui, "method").type(), QDBusMessage::ReplyMessage);
|
||||||
QCOMPARE(slotSpyPeer(), "void Interface2::method()");
|
QCOMPARE(slotSpyPeer(), QStringLiteral("void Interface2::method()"));
|
||||||
if (!nInterfaces--)
|
if (!nInterfaces--)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -1121,24 +1121,24 @@ void tst_QDBusAbstractAdaptor::methodCallsPeer()
|
|||||||
QCOMPARE(if2.call(QDBus::BlockWithGui, "methodString").type(), QDBusMessage::ErrorMessage);
|
QCOMPARE(if2.call(QDBus::BlockWithGui, "methodString").type(), QDBusMessage::ErrorMessage);
|
||||||
|
|
||||||
QCOMPARE(if3.call(QDBus::BlockWithGui, "methodVoid").type(), QDBusMessage::ReplyMessage);
|
QCOMPARE(if3.call(QDBus::BlockWithGui, "methodVoid").type(), QDBusMessage::ReplyMessage);
|
||||||
QCOMPARE(slotSpyPeer(), "void Interface3::methodVoid()");
|
QCOMPARE(slotSpyPeer(), QStringLiteral("void Interface3::methodVoid()"));
|
||||||
QCOMPARE(if3.call(QDBus::BlockWithGui, "methodInt", 42).type(), QDBusMessage::ReplyMessage);
|
QCOMPARE(if3.call(QDBus::BlockWithGui, "methodInt", 42).type(), QDBusMessage::ReplyMessage);
|
||||||
QCOMPARE(slotSpyPeer(), "void Interface3::methodInt(int)");
|
QCOMPARE(slotSpyPeer(), QStringLiteral("void Interface3::methodInt(int)"));
|
||||||
QCOMPARE(if3.call(QDBus::BlockWithGui, "methodString", QString("")).type(), QDBusMessage::ReplyMessage);
|
QCOMPARE(if3.call(QDBus::BlockWithGui, "methodString", QString("")).type(), QDBusMessage::ReplyMessage);
|
||||||
QCOMPARE(slotSpyPeer(), "void Interface3::methodString(QString)");
|
QCOMPARE(slotSpyPeer(), QStringLiteral("void Interface3::methodString(QString)"));
|
||||||
|
|
||||||
if (!nInterfaces--)
|
if (!nInterfaces--)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// method overloading: different interfaces
|
// method overloading: different interfaces
|
||||||
QCOMPARE(if4.call(QDBus::BlockWithGui, "method").type(), QDBusMessage::ReplyMessage);
|
QCOMPARE(if4.call(QDBus::BlockWithGui, "method").type(), QDBusMessage::ReplyMessage);
|
||||||
QCOMPARE(slotSpyPeer(), "void Interface4::method()");
|
QCOMPARE(slotSpyPeer(), QStringLiteral("void Interface4::method()"));
|
||||||
|
|
||||||
// method overloading: different parameters
|
// method overloading: different parameters
|
||||||
QCOMPARE(if4.call(QDBus::BlockWithGui, "method.i", 42).type(), QDBusMessage::ReplyMessage);
|
QCOMPARE(if4.call(QDBus::BlockWithGui, "method.i", 42).type(), QDBusMessage::ReplyMessage);
|
||||||
QCOMPARE(slotSpyPeer(), "void Interface4::method(int)");
|
QCOMPARE(slotSpyPeer(), QStringLiteral("void Interface4::method(int)"));
|
||||||
QCOMPARE(if4.call(QDBus::BlockWithGui, "method.s", QString()).type(), QDBusMessage::ReplyMessage);
|
QCOMPARE(if4.call(QDBus::BlockWithGui, "method.s", QString()).type(), QDBusMessage::ReplyMessage);
|
||||||
QCOMPARE(slotSpyPeer(), "void Interface4::method(QString)");
|
QCOMPARE(slotSpyPeer(), QStringLiteral("void Interface4::method(QString)"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_QDBusAbstractAdaptor::methodCallScriptablePeer()
|
void tst_QDBusAbstractAdaptor::methodCallScriptablePeer()
|
||||||
@ -1152,7 +1152,7 @@ void tst_QDBusAbstractAdaptor::methodCallScriptablePeer()
|
|||||||
QDBusInterface if2(QString(), "/", "local.Interface2", con);
|
QDBusInterface if2(QString(), "/", "local.Interface2", con);
|
||||||
|
|
||||||
QCOMPARE(if2.call(QDBus::BlockWithGui,"scriptableMethod").type(), QDBusMessage::ReplyMessage);
|
QCOMPARE(if2.call(QDBus::BlockWithGui,"scriptableMethod").type(), QDBusMessage::ReplyMessage);
|
||||||
QCOMPARE(slotSpyPeer(), "void Interface2::scriptableMethod()");
|
QCOMPARE(slotSpyPeer(), QStringLiteral("void Interface2::scriptableMethod()"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void tst_QDBusAbstractAdaptor::signalEmissionsPeer_data()
|
void tst_QDBusAbstractAdaptor::signalEmissionsPeer_data()
|
||||||
|
Loading…
Reference in New Issue
Block a user