}
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);
+ }
}
qWarning() << "SignalProxy: unknown QIODevice" << iodev;
return;
}
-
+
// take a last gasp
while(true) {
QVariant var;
void SignalProxy::receivePeerSignal(QIODevice *sender, const QVariant &packedFunc) {
QVariantList params(packedFunc.toList());
+ if(params.isEmpty()) {
+ qWarning() << "SignalProxy::receivePeerSignal(): received incompatible Data:" << packedFunc;
+ return;
+ }
+
int callType = params.takeFirst().value<int>();
switch(callType) {