diff --git a/src/virtManager/details.py b/src/virtManager/details.py index 792662a1f..0d821c95a 100644 --- a/src/virtManager/details.py +++ b/src/virtManager/details.py @@ -727,7 +727,8 @@ class vmmDetails(gobject.GObject): def set_migrate_menu(self): menu = self.window.get_widget("details-menu-migrate_menu") - self.engine.populate_migrate_menu(menu, self.control_vm_migrate) + self.engine.populate_migrate_menu(menu, self.control_vm_migrate, + self.vm) def set_pause_widget_states(self, state): try: diff --git a/src/virtManager/engine.py b/src/virtManager/engine.py index a5d9c3f9b..184598d82 100644 --- a/src/virtManager/engine.py +++ b/src/virtManager/engine.py @@ -574,8 +574,8 @@ class vmmEngine(gobject.GObject): migrate_progress.set_title(" ") return migrate_progress - def populate_migrate_menu(self, menu, migrate_func): - conns = self.get_available_migrate_hostnames() + def populate_migrate_menu(self, menu, migrate_func, vm): + conns = self.get_available_migrate_hostnames(vm) # Clear menu for item in menu: @@ -597,9 +597,9 @@ class vmmEngine(gobject.GObject): mitem.show() menu.add(mitem) - def get_available_migrate_hostnames(self): - driver = self.windowManager.current_connection().get_driver() - uri = self.windowManager.current_connection().get_uri() + def get_available_migrate_hostnames(self, vm): + driver = vm.get_connection().get_driver() + uri = vm.get_connection().get_uri() available_migrate_hostnames = {} # Returns list of lists of the form diff --git a/src/virtManager/manager.py b/src/virtManager/manager.py index 9b440b41c..b39a9df57 100644 --- a/src/virtManager/manager.py +++ b/src/virtManager/manager.py @@ -1124,7 +1124,12 @@ class vmmManager(gobject.GObject): vm.get_uuid(), hostname) def set_migrate_submenu(self, src): - self.engine.populate_migrate_menu(self.vmmenumigrate, self.migrate) + vm = self.current_vm() + if not vm: + return + + self.engine.populate_migrate_menu(self.vmmenumigrate, self.migrate, + vm) def _add_connection(self, engine, conn): conn.connect("vm-added", self.vm_added)