virt-viewer/SOURCES/0002-ovirt-Fix-initial-conn...

74 lines
2.5 KiB
Diff

From fe7aad2002ebbeef4c99e1777371e71c9b3dcb7b Mon Sep 17 00:00:00 2001
From: Christophe Fergeau <cfergeau@redhat.com>
Date: Thu, 6 Dec 2018 11:57:12 +0100
Subject: [PATCH] ovirt: Fix initial connection
After commit df42f78d46 "remote-viewer: factor our
remote_viewer_initial_connect()", the initial connection code only gets
run in the !ovirt case. When ovirt is in use, the initial connection
never happens, meaning all we get when using ovirt:// is a blank
virt-viewer window.
This commit fixes that by moving creation of the ovirt session to
remote_viewer_initial_connect, and unconditionnally calling the
remote_viewer_initial_connect rather than only doing it in the !ovirt
case.
https://bugzilla.redhat.com/show_bug.cgi?id=1655537
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
---
src/remote-viewer.c | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/src/remote-viewer.c b/src/remote-viewer.c
index 4e1021b..989466b 100644
--- a/src/remote-viewer.c
+++ b/src/remote-viewer.c
@@ -684,9 +684,18 @@ remote_viewer_initial_connect(RemoteViewer *self, const gchar *type, const gchar
{
VirtViewerApp *app = VIRT_VIEWER_APP(self);
- if (!virt_viewer_app_create_session(app, type, error))
- return FALSE;
-
+#ifdef HAVE_OVIRT
+ if (g_strcmp0(type, "ovirt") == 0) {
+ if (!create_ovirt_session(app, guri, error)) {
+ g_prefix_error(error, _("Couldn't open oVirt session: "));
+ return FALSE;
+ }
+ } else
+#endif
+ {
+ if (!virt_viewer_app_create_session(app, type, error))
+ return FALSE;
+ }
g_signal_connect(virt_viewer_app_get_session(app), "session-connected",
G_CALLBACK(remote_viewer_session_connected), g_strdup(guri));
@@ -782,18 +791,8 @@ retry_dialog:
_("Cannot determine the connection type from URI"));
goto cleanup;
}
-#ifdef HAVE_OVIRT
- if (g_strcmp0(type, "ovirt") == 0) {
- if (!create_ovirt_session(app, guri, &error)) {
- g_prefix_error(&error, _("Couldn't open oVirt session: "));
- goto cleanup;
- }
- } else
-#endif
- {
- if (!remote_viewer_initial_connect(self, type, guri, vvfile, &error))
- goto cleanup;
- }
+ if (!remote_viewer_initial_connect(self, type, guri, vvfile, &error))
+ goto cleanup;
}
ret = VIRT_VIEWER_APP_CLASS(remote_viewer_parent_class)->start(app, &error);
--
2.19.2