X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fsignalproxy.cpp;h=f4fe0fb3ef01e7f23b6f91896f22a968376556c0;hp=968bf425901a02e963176dabe69bd4960e7f36be;hb=9a7ec1bc5c61aeb53bf124231d10852797b98970;hpb=ae97a322751547af21a637ead6c75ddc0162869b diff --git a/src/common/signalproxy.cpp b/src/common/signalproxy.cpp index 968bf425..f4fe0fb3 100644 --- a/src/common/signalproxy.cpp +++ b/src/common/signalproxy.cpp @@ -290,8 +290,11 @@ void SignalProxy::objectRenamed(QString oldname, QString newname) { } void SignalProxy::objectRenamed(QByteArray classname, QString oldname, QString newname) { - if(_syncSlave.contains(classname) && _syncSlave[classname].contains(oldname) && oldname != newname) - _syncSlave[classname][newname] = _syncSlave[classname].take(oldname); + if(_syncSlave.contains(classname) && _syncSlave[classname].contains(oldname) && oldname != newname) { + SyncableObject *obj = _syncSlave[classname][newname] = _syncSlave[classname].take(oldname); + if(!obj->isInitialized()) + requestInit(obj); + } } @@ -317,7 +320,7 @@ void SignalProxy::removePeer(QIODevice* iodev) { qWarning() << "SignalProxy: unknown QIODevice" << iodev; return; } - + // take a last gasp while(true) { QVariant var;