diff --git a/qubesmanager/settings.py b/qubesmanager/settings.py
index 58261a0e..0df240a2 100644
--- a/qubesmanager/settings.py
+++ b/qubesmanager/settings.py
@@ -562,7 +562,26 @@ def __apply_basic_tab__(self):
# vm netvm changed
try:
if utils.did_widget_selection_change(self.netVM):
- self.vm.netvm = self.netVM.currentData()
+ if self.netVM.currentData() == qubesadmin.DEFAULT:
+ netvm = self.vm.property_get_default('netvm')
+ else:
+ netvm = self.netVM.currentData()
+ if self.vm.get_power_state() == 'Running' and netvm and \
+ netvm.get_power_state() != 'Running':
+ reply = QtWidgets.QMessageBox.question(
+ self, self.tr("Qube Start Confirmation"),
+ self.tr("
Can not change netvm of a running qube"
+ "to a halted Qube.
"
+ "Do you want to start the Qube"
+ " '{0}'?").format(netvm.name),
+ QtWidgets.QMessageBox.Yes |
+ QtWidgets.QMessageBox.Cancel)
+
+ if reply == QtWidgets.QMessageBox.Yes:
+ netvm.start()
+ self.vm.netvm = self.netVM.currentData()
+ else:
+ self.vm.netvm = self.netVM.currentData()
except qubesadmin.exc.QubesException as ex:
msg.append(str(ex))