diff --git a/virt-manager b/virt-manager index 4c05c1f8c..4ba10fa50 100755 --- a/virt-manager +++ b/virt-manager @@ -272,17 +272,17 @@ def main(): LibvirtGLib.init(None) LibvirtGLib.event_register() + engine = vmmEngine() + # Actually exit when we receive ctrl-c from gi.repository import GLib def _sigint_handler(user_data): ignore = user_data logging.debug("Received KeyboardInterrupt. Exiting application.") - sys.exit(0) + engine.exit_app(None) GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGINT, _sigint_handler, None) - engine = vmmEngine() - engine.start(options.uri, show_window, domain, options.skip_autostart) diff --git a/virtManager/engine.py b/virtManager/engine.py index d8f86e380..fedac4642 100644 --- a/virtManager/engine.py +++ b/virtManager/engine.py @@ -482,7 +482,7 @@ class vmmEngine(vmmGObject): # Engine will always appear to leak objs.remove(self.object_key) - if src.object_key in objs: + if src and src.object_key in objs: # UI that initiates the app exit will always appear to leak objs.remove(src.object_key)