diff -Nru libcommuni-3.0.2+201712202346/debian/bzr-builder.manifest libcommuni-3.0.2+201801162044/debian/bzr-builder.manifest --- libcommuni-3.0.2+201712202346/debian/bzr-builder.manifest 2017-12-20 23:46:28.000000000 +0000 +++ libcommuni-3.0.2+201801162044/debian/bzr-builder.manifest 2018-01-16 20:44:21.000000000 +0000 @@ -1,3 +1,3 @@ -# bzr-builder format 0.3 deb-version {debupstream}+201712202346-3 -lp:libcommuni revid:git-v1:b34a86a350e056177146ceb682b2b992367c8b3f +# bzr-builder format 0.3 deb-version {debupstream}+201801162044-3 +lp:libcommuni revid:git-v1:d3e388de9a146faad3277b46e480b0f1415f9a24 nest packaging lp:~qutim/libcommuni/ubuntu debian revid:torkvema@gmail.com-20140302233009-vjypp92v9lqiqb9p diff -Nru libcommuni-3.0.2+201712202346/debian/changelog libcommuni-3.0.2+201801162044/debian/changelog --- libcommuni-3.0.2+201712202346/debian/changelog 2017-12-20 23:46:28.000000000 +0000 +++ libcommuni-3.0.2+201801162044/debian/changelog 2018-01-16 20:44:21.000000000 +0000 @@ -1,8 +1,8 @@ -libcommuni (3.0.2+201712202346-3~ubuntu14.04.1) trusty; urgency=low +libcommuni (3.0.2+201801162044-3~ubuntu14.04.1) trusty; urgency=low * Auto build. - -- QutIM Packagers Team Wed, 20 Dec 2017 23:46:28 +0000 + -- QutIM Packagers Team Tue, 16 Jan 2018 20:44:21 +0000 libcommuni (3.0.2-1) unstable; urgency=low diff -Nru libcommuni-3.0.2+201712202346/include/IrcUtil/irclagtimer_p.h libcommuni-3.0.2+201801162044/include/IrcUtil/irclagtimer_p.h --- libcommuni-3.0.2+201712202346/include/IrcUtil/irclagtimer_p.h 2017-12-20 23:46:27.000000000 +0000 +++ libcommuni-3.0.2+201801162044/include/IrcUtil/irclagtimer_p.h 2018-01-16 20:44:20.000000000 +0000 @@ -60,6 +60,7 @@ IrcConnection* connection; QTimer timer; int interval; + int pendingPings; qint64 lag; }; diff -Nru libcommuni-3.0.2+201712202346/src/util/irclagtimer.cpp libcommuni-3.0.2+201801162044/src/util/irclagtimer.cpp --- libcommuni-3.0.2+201712202346/src/util/irclagtimer.cpp 2017-12-20 23:46:27.000000000 +0000 +++ libcommuni-3.0.2+201801162044/src/util/irclagtimer.cpp 2018-01-16 20:44:20.000000000 +0000 @@ -58,7 +58,7 @@ */ #ifndef IRC_DOXYGEN -IrcLagTimerPrivate::IrcLagTimerPrivate() : q_ptr(0), connection(0), interval(DEFAULT_INTERVAL), lag(-1) +IrcLagTimerPrivate::IrcLagTimerPrivate() : q_ptr(0), connection(0), interval(DEFAULT_INTERVAL), pendingPings(0), lag(-1) { } @@ -77,6 +77,7 @@ bool ok = false; qint64 timestamp = msg->argument().mid(8).toLongLong(&ok); if (ok) { + pendingPings--; updateLag(QDateTime::currentMSecsSinceEpoch() - timestamp); return true; } @@ -88,6 +89,7 @@ void IrcLagTimerPrivate::_irc_connected() { #if QT_VERSION >= 0x040700 + pendingPings = 0; if (interval > 0) timer.start(); #endif // QT_VERSION @@ -99,6 +101,11 @@ // TODO: configurable format? QString cmd = QString("PING communi/%1").arg(QDateTime::currentMSecsSinceEpoch()); connection->sendData(cmd.toUtf8()); + qint64 pingLag = pendingPings * interval * 1000; + if (pingLag > lag) { + updateLag(pingLag); + } + pendingPings++; #endif // QT_VERSION } @@ -106,6 +113,7 @@ { #if QT_VERSION >= 0x040700 updateLag(-1); + pendingPings = 0; if (timer.isActive()) timer.stop(); #endif // QT_VERSION