From: "Zeeshan Ali (Khattak)" <zeeshanak(a)gnome.org>
This patch doesn't work cause virDomainIsPersistent() is returning '1'
on transient domain for some reason. Send it to list to get some help.
---
libvirt-gobject/libvirt-gobject-connection.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/libvirt-gobject/libvirt-gobject-connection.c
b/libvirt-gobject/libvirt-gobject-connection.c
index b647bfa..1b0259e 100644
--- a/libvirt-gobject/libvirt-gobject-connection.c
+++ b/libvirt-gobject/libvirt-gobject-connection.c
@@ -362,6 +362,15 @@ static int domain_event_cb(virConnectPtr conn G_GNUC_UNUSED,
g_signal_emit_by_name(gdom, "stopped::from-snapshot");
else
g_warn_if_reached();
+
+ if (!virDomainIsPersistent(dom)) {
+ g_mutex_lock(priv->lock);
+ g_hash_table_steal(priv->domains, uuid);
+ g_mutex_unlock(priv->lock);
+
+ g_signal_emit(gconn, signals[VIR_DOMAIN_REMOVED], 0, gdom);
+ g_object_unref(gdom);
+ }
break;
default:
--
1.7.7.3