Fix compiler warning (case value not in enum)
[quassel.git] / src / common / signalproxy.cpp
index b3410e6..8943f75 100644 (file)
@@ -271,10 +271,13 @@ void SignalProxy::setProxyMode(ProxyMode mode) {
 }
 
 void SignalProxy::init() {
+  _heartBeatInterval = 0;
+  _maxHeartBeatCount = 0;
   _signalRelay = new SignalRelay(this);
   connect(&_heartBeatTimer, SIGNAL(timeout()), this, SLOT(sendHeartBeat()));
   setHeartBeatInterval(30);
   setMaxHeartBeatCount(2);
+  _heartBeatTimer.start();
   _secure = false;
   updateSecureState();
 }
@@ -333,13 +336,7 @@ void SignalProxy::setHeartBeatInterval(int secs) {
 }
 
 void SignalProxy::setMaxHeartBeatCount(int max) {
-  if(max < 0)
-    _heartBeatTimer.stop();
-  else {
-    _maxHeartBeatCount = max;
-    if(!_heartBeatTimer.isActive())
-      _heartBeatTimer.start();
-  }
+  _maxHeartBeatCount = max;
 }
 
 bool SignalProxy::addPeer(SignalProxy* proxy) {
@@ -960,7 +957,7 @@ void SignalProxy::sendHeartBeat() {
       if(ioPeer->sentHeartBeats > 0) {
         updateLag(ioPeer, ioPeer->sentHeartBeats * _heartBeatTimer.interval());
       }
-      if(ioPeer->sentHeartBeats >= maxHeartBeatCount())
+      if(maxHeartBeatCount() >= 0 && ioPeer->sentHeartBeats >= maxHeartBeatCount())
         toClose.append(ioPeer);
       else
         ioPeer->sentHeartBeats++;
@@ -998,7 +995,7 @@ void SignalProxy::receiveHeartBeatReply(AbstractPeer *peer, const QVariantList &
 }
 
 void SignalProxy::customEvent(QEvent *event) {
-  switch(event->type()) {
+  switch(+event->type()) {
   case PeerSignal:
     {
       PeerSignalEvent *e = static_cast<PeerSignalEvent *>(event);