Even though the previous patches in this series ensure that the session
gets properly finalized, we still need to wait for the disconnect signal,
as spice-glib uses co-routines which need some time to cleanly close the
connection / session.

Signed-off-by: Hans de Goede <[email protected]>
---
 src/virt-viewer-app.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/src/virt-viewer-app.c b/src/virt-viewer-app.c
index 2a66142..49b50d4 100644
--- a/src/virt-viewer-app.c
+++ b/src/virt-viewer-app.c
@@ -117,6 +117,7 @@ struct _VirtViewerAppPrivate {
     gboolean started;
     gboolean fullscreen;
     gboolean attach;
+    gboolean quiting;
 
     VirtViewerSession *session;
     gboolean active;
@@ -209,8 +210,14 @@ virt_viewer_app_quit(VirtViewerApp *self)
     g_return_if_fail(VIRT_VIEWER_IS_APP(self));
     VirtViewerAppPrivate *priv = self->priv;
 
-    if (priv->session)
+    if (priv->session) {
         virt_viewer_session_close(VIRT_VIEWER_SESSION(priv->session));
+        if (priv->connected) {
+            priv->quiting = TRUE;
+            return;
+        }
+    }
+
     gtk_main_quit();
 }
 
@@ -1055,6 +1062,9 @@ virt_viewer_app_disconnected(VirtViewerSession *session 
G_GNUC_UNUSED,
 {
     VirtViewerAppPrivate *priv = self->priv;
 
+    if (priv->quiting)
+        gtk_main_quit();
+
     if (!priv->connected && !priv->cancelled) {
         virt_viewer_app_simple_message_dialog(self,
                                               _("Unable to connect to the 
graphic server %s"),
-- 
1.7.7.6

_______________________________________________
virt-tools-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/virt-tools-list

Reply via email to