On 03/11/2014 03:12 AM, Chen Hanxiao wrote: > We should catch KeyError in interface_selected, > for that error could happen when > singal on_interface_list_changed comes. > > How to reproduce: > 1. create 3 bridge by Edit->Connection Details->Network Interface > 2. delete them > 3. We would get a KeyError > > Signed-off-by: Chen Hanxiao <chenhanxiao@xxxxxxxxxxxxxx> > --- > virtManager/host.py | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/virtManager/host.py b/virtManager/host.py > index c8d7ee0..97a4f74 100644 > --- a/virtManager/host.py > +++ b/virtManager/host.py > @@ -1098,6 +1098,15 @@ class vmmHost(vmmGObjectUI): > name = model[treeiter][0] > > try: > + self.conn.get_interface(name) > + except KeyError: > + self.widget("interface-apply").set_sensitive(False) > + return > + except Exception, e: > + logging.exception(e) > + self.set_interface_error_page(_("Error selecting interface: %s") % > + e) > + try: > self.populate_interface_state(name) > except Exception, e: > logging.exception(e) > If an interface is removed, vmmConnection should emit interface-removed, which calls host.py:repopulate_interfaces and should remove the missing interface from the list before the user has a chance to select anything. If that's not working we should figure out why that is. - Cole _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list