X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcorenetwork.cpp;fp=src%2Fcore%2Fcorenetwork.cpp;h=40b47405e4176e082c0b2253a64189a7b38bba5c;hp=b89c403a79f950108d593d27bddbdd4c4ad8cc39;hb=08a3b942d11b6b6f5939e7c80e26c4a6cde7c785;hpb=12cf712ff75a8ccab3a44e4e519508f209906b39 diff --git a/src/core/corenetwork.cpp b/src/core/corenetwork.cpp index b89c403a..40b47405 100644 --- a/src/core/corenetwork.cpp +++ b/src/core/corenetwork.cpp @@ -366,7 +366,7 @@ void CoreNetwork::socketDisconnected() { Core::setNetworkConnected(userId(), networkId(), false); } else if(_autoReconnectCount != 0) { setConnectionState(Network::Reconnecting); - if(_autoReconnectCount == autoReconnectRetries()) + if(_autoReconnectCount == -1 || _autoReconnectCount == autoReconnectRetries()) doAutoReconnect(); // first try is immediate else _autoReconnectTimer.start(); @@ -402,7 +402,7 @@ void CoreNetwork::networkInitialized() { if(useAutoReconnect()) { // reset counter - _autoReconnectCount = autoReconnectRetries(); + _autoReconnectCount = unlimitedReconnectRetries() ? -1 : autoReconnectRetries(); } // restore away state @@ -513,8 +513,8 @@ void CoreNetwork::doAutoReconnect() { qWarning() << "CoreNetwork::doAutoReconnect(): Cannot reconnect while not being disconnected!"; return; } - if(_autoReconnectCount > 0) - _autoReconnectCount--; + if(_autoReconnectCount > 0 || _autoReconnectCount == -1) + _autoReconnectCount--; // -2 means we delay the next reconnect connectToIrc(true); }