[virt-tools-list] [virt-manager PATCH] create: fix a TypeError issue when detecting OS info

Cole Robinson crobinso at redhat.com
Tue Apr 29 14:51:56 UTC 2014


On 04/26/2014 02:49 AM, Chen Hanxiao wrote:
> How to reproduce:
> 1) New VM -> Use ISO image
> 2) Choose a WINDOWS IMG
> 
> Then debug log shows:
> Traceback (most recent call last):
> File "/home/virt-manager/virtManager/create.py", line 1218, in change_os_version
>       if os_type_model[idx][0] == type_row[0]:
> File "/usr/lib64/python2.7/site-packages/gi/overrides/Gtk.py", line 1064, in __getitem__
>       return self.model.get_value(self.iter, key)
> TypeError: unknown type (null)
> 
> Signed-off-by: Chen Hanxiao <chenhanxiao at cn.fujitsu.com>
> ---
>  virtManager/create.py | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/virtManager/create.py b/virtManager/create.py
> index 038649d..b3ad674 100644
> --- a/virtManager/create.py
> +++ b/virtManager/create.py
> @@ -1187,6 +1187,10 @@ class vmmCreate(vmmGObjectUI):
>          type_row = self._selected_os_row()
>          if not type_row:
>              return
> +        try:
> +            Previous_row = type_row[0]
> +        except TypeError:
> +            Previous_row = None
>  
>          self.show_all_os = True
>          self.populate_os_type_model()
> @@ -1194,7 +1198,7 @@ class vmmCreate(vmmGObjectUI):
>          os_type_list = self.widget("install-os-type")
>          os_type_model = os_type_list.get_model()
>          for idx in range(len(os_type_model)):
> -            if os_type_model[idx][0] == type_row[0]:
> +            if os_type_model[idx][0] == Previous_row:
>                  os_type_list.set_active(idx)
>                  break
>  
> 

Hmm, I can't reproduce, but maybe I'm doing something differently. Are you
selecting a windows ISO?

What is the list selection in the UI when this triggers?

If this isn't a bug we can fix elsewhere, then we should at least move the
TypeError check to _selected_os_row so other users benefit as well.

- Cole




More information about the virt-tools-list mailing list