Fix nasty bug that made the client sometimes crash at sync.
[quassel.git] / src / common / signalproxy.cpp
index 8d9d8b3..e934a05 100644 (file)
@@ -317,7 +317,7 @@ void SignalProxy::removePeer(QIODevice* iodev) {
     qWarning() << "SignalProxy: unknown QIODevice" << iodev;
     return;
   }
-     
+
   // take a last gasp
   while(true) {
     QVariant var;
@@ -593,6 +593,11 @@ void SignalProxy::dispatchSignal(const RequestType &requestType, const QVariantL
 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) {