[virt-tools-list] [PATCH 3/5] virt-manager: prevent events while the storage pool model is accessed
Giuseppe Scrivano
gscrivan at redhat.com
Tue Aug 13 12:26:27 UTC 2013
It fixes this error:
Traceback (most recent call last):
File "virt-manager/virtManager/storagebrowse.py", line 271, in pool_selected
pool = self.current_pool()
File "virt-manager/virtManager/storagebrowse.py", line 238, in current_pool
return self.conn.get_pool(row[0])
File "virt-manager/virtManager/connection.py", line 645, in get_pool
return self.pools[uuid]
KeyError: 'bd9fd5ec-a35c-d84a-b9b2-2aca98f733c3'
Signed-off-by: Giuseppe Scrivano <gscrivan at redhat.com>
---
virtManager/host.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/virtManager/host.py b/virtManager/host.py
index afa7644..e83865a 100644
--- a/virtManager/host.py
+++ b/virtManager/host.py
@@ -1306,6 +1306,8 @@ def refresh_pool_in_list(pool_list, conn, uuid):
def populate_storage_pools(pool_list, conn):
model = pool_list.get_model()
+ # Prevent events while the model is modified
+ pool_list.set_model(None)
model.clear()
for uuid in conn.list_pool_uuids():
per = get_pool_size_percent(conn, uuid)
@@ -1318,6 +1320,7 @@ def populate_storage_pools(pool_list, conn):
model.append([uuid, label, pool.is_active(), per])
_iter = model.get_iter_first()
+ pool_list.set_model(model)
if _iter:
pool_list.get_selection().select_iter(_iter)
pool_list.get_selection().emit("changed")
--
1.8.3.1
More information about the virt-tools-list
mailing list