X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcommon%2Fsynchronizer.cpp;h=179cda1187f4106f9657daae5305d4ab40f63bdd;hb=fee1002dcb914ef9d47ceae97080b8c140e3b1ed;hp=8c294007d1ae67828cdc88666a25ab8d1a291018;hpb=902c95728306e5ba115de84800fc8d5d239c9d62;p=quassel.git diff --git a/src/common/synchronizer.cpp b/src/common/synchronizer.cpp index 8c294007..179cda11 100644 --- a/src/common/synchronizer.cpp +++ b/src/common/synchronizer.cpp @@ -122,8 +122,6 @@ void Synchronizer::parentChangedName() { proxy()->detachObject(parent()); proxy()->detachObject(this); attach(); - if(proxy()->proxyType() == SignalProxy::Client && initialized()) - proxy()->detachObject(this); } // ==================== @@ -276,16 +274,18 @@ void Synchronizer::attachAsSlave() { } } - // and then we connect ourself, so we can receive init data - // qDebug() << "attachSlot:" << initSignal() << "recvInitData(QVariantMap)"; - // qDebug() << "attachSignal:" << "requestSync()" << requestSyncSignal(); - proxy()->attachSlot(initSignal().toAscii(), this, SLOT(recvInitData(QVariantMap))); - proxy()->attachSignal(this, SIGNAL(requestSync()), requestSyncSignal().toAscii()); - if(!getMethodByName("setInitialized()").isEmpty()) connect(this, SIGNAL(initDone()), parent(), SLOT(setInitialized())); - emit requestSync(); + if(!initialized()) { + // and then we connect ourself, so we can receive init data + // qDebug() << "attachSlot:" << initSignal() << "recvInitData(QVariantMap)"; + // qDebug() << "attachSignal:" << "requestSync()" << requestSyncSignal(); + proxy()->attachSlot(initSignal().toAscii(), this, SLOT(recvInitData(QVariantMap))); + proxy()->attachSignal(this, SIGNAL(requestSync()), requestSyncSignal().toAscii()); + + emit requestSync(); + } } void Synchronizer::attachAsMaster() {