mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-30 11:38:50 -07:00
Add a workaround for QTBUG-52633, qBt issue #5073
The QTBUG-52633 results in food of network interface changed events, libtorrent IP rebind calls and flood in the qBt log. The work around is the check not only for interface name, but for IP address on that interface before triggering the libtorrent rebind.
This commit is contained in:
parent
284e836992
commit
9a0d25284c
1 changed files with 10 additions and 0 deletions
|
@ -1935,7 +1935,17 @@ void Session::networkConfigurationChange(const QNetworkConfiguration& cfg)
|
|||
if (configuredInterfaceName.isEmpty()) return;
|
||||
|
||||
const QString changedInterface = cfg.name();
|
||||
|
||||
// workaround for QTBUG-52633: check interface IPs, react only if the IPs have changed
|
||||
// seems to be present only with NetworkManager, hence Q_OS_LINUX
|
||||
#if defined Q_OS_LINUX && QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) // && QT_VERSION <= QT_VERSION_CHECK(5, ?, ?)
|
||||
static QStringList boundIPs = getListeningIPs();
|
||||
const QStringList newBoundIPs = getListeningIPs();
|
||||
if ((configuredInterfaceName == changedInterface) && (boundIPs != newBoundIPs)) {
|
||||
boundIPs = newBoundIPs;
|
||||
#else
|
||||
if (configuredInterfaceName == changedInterface) {
|
||||
#endif
|
||||
Logger::instance()->addMessage(tr("Network configuration of %1 has changed, refreshing session binding", "e.g: Network configuration of tun0 has changed, refreshing session binding").arg(changedInterface), Log::INFO);
|
||||
configureListeningInterface();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue