From 26314fae01f5625611f2b638e62f2d3eab09bab1 Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Sun, 7 Oct 2012 16:04:07 +0300 Subject: [PATCH] No longer fallback to ANY interface if the user-selected interface cannot be found (closes #143) --- src/preferences/advancedsettings.h | 10 +++++++++- src/qtlibtorrent/qbtsession.cpp | 6 ------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/preferences/advancedsettings.h b/src/preferences/advancedsettings.h index 496ab2764..d71967e97 100644 --- a/src/preferences/advancedsettings.h +++ b/src/preferences/advancedsettings.h @@ -198,14 +198,22 @@ private slots: // Network interface combo_iface.addItem(tr("Any interface", "i.e. Any network interface")); const QString current_iface = pref.getNetworkInterface(); + bool interface_exists = current_iface.isEmpty(); int i = 1; foreach (const QNetworkInterface& iface, QNetworkInterface::allInterfaces()) { if (iface.flags() & QNetworkInterface::IsLoopBack) continue; combo_iface.addItem(iface.name()); - if (!current_iface.isEmpty() && iface.name() == current_iface) + if (!current_iface.isEmpty() && iface.name() == current_iface) { combo_iface.setCurrentIndex(i); + interface_exists = true; + } ++i; } + // Saved interface does not exist, show it anyway + if (!interface_exists) { + combo_iface.addItem(current_iface); + combo_iface.setCurrentIndex(i); + } setRow(NETWORK_IFACE, tr("Network Interface (requires restart)"), &combo_iface); // Network address txt_network_address.setText(pref.getNetworkAddress()); diff --git a/src/qtlibtorrent/qbtsession.cpp b/src/qtlibtorrent/qbtsession.cpp index 1fc79ce85..4551cb192 100755 --- a/src/qtlibtorrent/qbtsession.cpp +++ b/src/qtlibtorrent/qbtsession.cpp @@ -1917,12 +1917,6 @@ void QBtSession::setListeningPort(int port) { if (!network_iface.isValid()) { qDebug("Invalid network interface: %s", qPrintable(iface_name)); addConsoleMessage(tr("The network interface defined is invalid: %1").arg(iface_name), "red"); - addConsoleMessage(tr("Trying any other network interface available instead.")); -#if LIBTORRENT_VERSION_MINOR > 15 - s->listen_on(ports, ec); -#else - s->listen_on(ports); -#endif return; } QString ip;