X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fsynchronizer.cpp;h=179cda1187f4106f9657daae5305d4ab40f63bdd;hp=8c294007d1ae67828cdc88666a25ab8d1a291018;hb=4ca0caeecef3075fef179b50ec40777a84f479c7;hpb=6609a6b6f50274e90ecca1aca2c0e2e9ad2e6327 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() {