If a SyncableObject is renamed before it's initialized works now properly
authorMarcus Eggenberger <egs@quassel-irc.org>
Fri, 29 Feb 2008 19:39:30 +0000 (19:39 +0000)
committerMarcus Eggenberger <egs@quassel-irc.org>
Fri, 29 Feb 2008 19:39:30 +0000 (19:39 +0000)
src/common/signalproxy.cpp

index e934a05..f4fe0fb 100644 (file)
@@ -290,8 +290,11 @@ void SignalProxy::objectRenamed(QString oldname, QString newname) {
 }
 
 void SignalProxy::objectRenamed(QByteArray classname, 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);
+  }
 }
 
 
 }