X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fsignalproxy.cpp;h=8943f75408f36dd8be6409bca0527f33eafa960c;hp=b3410e644dc572f69c832920108467892392947a;hb=5aefc9ba3d4d0891092bfa342ca1d970bdf7ad4f;hpb=e00e92ca69d45637f8e4d55d7cbd5913f45169cd diff --git a/src/common/signalproxy.cpp b/src/common/signalproxy.cpp index b3410e64..8943f754 100644 --- a/src/common/signalproxy.cpp +++ b/src/common/signalproxy.cpp @@ -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(event);