dispvm: show error in tray when DispVM startup failed

Fixes QubesOS/qubes-issues#1457
This commit is contained in:
Marek Marczykowski-Górecki 2015-11-27 00:25:24 +01:00
parent fef8761f01
commit 624c94b9d6
No known key found for this signature in database
GPG Key ID: 063938BA42CFA724

View File

@ -28,7 +28,7 @@ import sys
import shutil import shutil
import time import time
from qubes.qubes import QubesVmCollection from qubes.qubes import QubesVmCollection, QubesException
from qubes.qubes import QubesDispVmLabels from qubes.qubes import QubesDispVmLabels
from qubes.notify import tray_notify, tray_notify_error, tray_notify_init from qubes.notify import tray_notify, tray_notify_error, tray_notify_init
@ -98,7 +98,11 @@ class QfileDaemonDvm:
qvm_collection.unlock_db() qvm_collection.unlock_db()
return None return None
print >>sys.stderr, "time=%s, VM starting" % (str(time.time())) print >>sys.stderr, "time=%s, VM starting" % (str(time.time()))
dispvm.start() try:
dispvm.start()
except (MemoryError, QubesException) as e:
tray_notify_error(e)
raise
if vm.qid != 0: if vm.qid != 0:
# if need to enable/disable netvm, do it while DispVM is alive # if need to enable/disable netvm, do it while DispVM is alive
if (dispvm.netvm is None) != (vm.dispvm_netvm is None): if (dispvm.netvm is None) != (vm.dispvm_netvm is None):