X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fsignalproxy.cpp;h=f6f75d65ca1f3d76ee5079d4aba6b4eb1cb2ba27;hb=ca0390418a6ca30eae315aa84db7811b692e76db;hp=764ac7d4b6541e45d1a6116b4e07b0551ed25905;hpb=a0754f069472a0ef611c191801d9f52b6357ef50;p=quassel.git diff --git a/src/common/signalproxy.cpp b/src/common/signalproxy.cpp index 764ac7d4..f6f75d65 100644 --- a/src/common/signalproxy.cpp +++ b/src/common/signalproxy.cpp @@ -707,9 +707,10 @@ bool SignalProxy::invokeSlot(QObject *receiver, int methodId, const QVariantList qWarning() << "SignalProxy::invokeSlot(): not enough params to invoke" << methodName(receiver, methodId); return false; } - - void *_a[numArgs+1]; - _a[0] = 0; + + void *_a[] = {0, // return type + 0, 0, 0, 0 , 0, // and 10 args - that's the max size qt can handle with signals and slots + 0, 0, 0, 0 , 0}; // check for argument compatibility and build params array for(int i = 0; i < numArgs; i++) { if(args[i] != QMetaType::type(params[i].typeName())) { @@ -817,6 +818,7 @@ void SignalProxy::setInitData(SyncableObject *obj, const QVariantMap &properties return; obj->fromVariantMap(properties); setInitialized(obj); + invokeSlot(obj, updatedRemotelyId(obj)); } void SignalProxy::dumpProxyStats() {