diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2012-08-23 14:30:19 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2012-08-23 14:30:19 +0200 |
commit | b4a1753dbcaf6a183baa8d87626146791f4870f2 (patch) | |
tree | eb054aaa9f122ae47a76eb6f6914bc3e2a0ab7c5 /domain.c | |
parent | deca9047094c875aa50ed773c6c08ea57042db13 (diff) | |
download | vconsole-b4a1753dbcaf6a183baa8d87626146791f4870f2.tar.gz |
handle libvirt disconnect
Diffstat (limited to 'domain.c')
-rw-r--r-- | domain.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -358,6 +358,14 @@ void domain_kill(struct vconsole_domain *dom) } } +void domain_free(struct vconsole_domain *dom) +{ + virDomainPtr d = virDomainLookupByUUIDString(dom->conn->ptr, dom->uuid); + + domain_close_tab(dom, d); + g_free(dom); +} + void domain_update(struct vconsole_connect *conn, virDomainPtr d, virDomainEventType event) { @@ -409,9 +417,8 @@ void domain_update(struct vconsole_connect *conn, /* handle events */ switch (event) { case VIR_DOMAIN_EVENT_UNDEFINED: - domain_close_tab(dom, d); gtk_tree_store_remove(conn->win->store, &guest); - g_free(dom); + domain_free(dom); return; case VIR_DOMAIN_EVENT_STARTED: domain_connect(dom, d); |