X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fsignalproxy.cpp;h=76fccb73eb7013865015f9a5b0d5d3b6e2f2468a;hb=9d02d714ff6ddfdd4a81fbe33d829c845d1fd4b8;hp=9806acfcea9c029e171c00db445fdc60b5f1c2e6;hpb=bc8d12b721ab61014fe7700982dbc408d98d54f1;p=quassel.git diff --git a/src/common/signalproxy.cpp b/src/common/signalproxy.cpp index 9806acfc..76fccb73 100644 --- a/src/common/signalproxy.cpp +++ b/src/common/signalproxy.cpp @@ -606,23 +606,27 @@ void SignalProxy::synchronize(SyncableObject *obj) { if(proxyMode() == Server) { connect(obj, SIGNAL(objectRenamed(QString, QString)), this, SLOT(objectRenamed(QString, QString))); - setInitialized(obj); + obj->setInitialized(); + emit objectInitialized(obj); } else { - requestInit(obj); + if(obj->isInitialized()) + emit objectInitialized(obj); + else + requestInit(obj); } } -void SignalProxy::setInitialized(SyncableObject *obj) { - obj->setInitialized(); - emit objectInitialized(obj); -} +// void SignalProxy::setInitialized(SyncableObject *obj) { +// obj->setInitialized(); +// emit objectInitialized(obj); +// } -bool SignalProxy::isInitialized(SyncableObject *obj) const { - return obj->isInitialized(); -} +// bool SignalProxy::isInitialized(SyncableObject *obj) const { +// return obj->isInitialized(); +// } void SignalProxy::requestInit(SyncableObject *obj) { - if(proxyMode() == Server || isInitialized(obj)) + if(proxyMode() == Server || obj->isInitialized()) return; QVariantList params; @@ -1012,10 +1016,11 @@ QVariantMap SignalProxy::initData(SyncableObject *obj) const { } void SignalProxy::setInitData(SyncableObject *obj, const QVariantMap &properties) { - if(isInitialized(obj)) + if(obj->isInitialized()) return; obj->fromVariantMap(properties); - setInitialized(obj); + obj->setInitialized(); + emit objectInitialized(obj); invokeSlot(obj, updatedRemotelyId(obj)); }