No longer fallback to ANY interface if the user-selected interface cannot be found (closes #143)

This commit is contained in:
Christophe Dumez 2012-10-07 16:04:07 +03:00
commit 26314fae01
2 changed files with 9 additions and 7 deletions

View file

@ -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());