summaryrefslogtreecommitdiff
path: root/noncore
Side-by-side diff
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/interfaces/interfacesetupimp.cpp54
1 files changed, 27 insertions, 27 deletions
diff --git a/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp b/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp
index 8d78828..49a47ae 100644
--- a/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp
+++ b/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp
@@ -44,42 +44,42 @@ InterfaceSetupImp::~InterfaceSetupImp(){
bool InterfaceSetupImp::saveChanges(){
bool error;
QString iface = interfaces->getInterfaceName(error);
if(!saveSettings())
return false;
- qWarning("restarting interface %s\n", iface.latin1());
interfaces->write();
- QString ifup;
- ifup += "ifdown ";
- ifup += iface;
- ifup += "; ifup ";
- ifup += iface;
- ifup += ";";
-
- OProcess restart;
- restart << "sh";
- restart << "-c";
- restart << ifup;
-
- OWait *owait = new OWait();
- Global::statusMessage( tr( "Restarting interface" ) );
-
- owait->show();
- qApp->processEvents();
-
- if (!restart.start(OProcess::Block, OProcess::NoCommunication) ) {
- qWarning("unstable to spawn ifdown/ifup");
+ if (interface->getStatus()) {
+ QString ifup;
+ ifup += "ifdown ";
+ ifup += iface;
+ ifup += "; ifup ";
+ ifup += iface;
+ ifup += ";";
+
+ OProcess restart;
+ restart << "sh";
+ restart << "-c";
+ restart << ifup;
+
+ OWait *owait = new OWait();
+ Global::statusMessage( tr( "Restarting interface" ) );
+
+ owait->show();
+ qApp->processEvents();
+
+ if (!restart.start(OProcess::Block, OProcess::NoCommunication) ) {
+ qWarning("unstable to spawn ifdown/ifup");
+ }
+
+ owait->hide();
+ delete owait;
+
+ interface->refresh();
}
-
- owait->hide();
- delete owait;
-
- interface->refresh();
-
return true;
}
/**
* Save the settings for the current Interface.
* @return bool true if successfull, false otherwise