On 20/10/17 15:10, Eduardo Lima (Etrunko) wrote: > When connecting to a VM via oVirt instance, the original uri can not be > retrieved using virt_viewer_session_get_uri(). Consequently, it was > never saved, even though the connection succeeds and the actual callback > for "session-connected" signal, which saves the URI, is invoked. > > To solve this problem, we always pass a copy of the guri as user-data > parameter for the callback, and if the call to > virt_viewer_session_get_uri() returns NULL, the parameter is used > instead. > > Resolves: https://bugzilla.redhat.com/1459792 > > Signed-off-by: Eduardo Lima (Etrunko) <etrunko@xxxxxxxxxx> > --- > src/remote-viewer.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/src/remote-viewer.c b/src/remote-viewer.c > index 7834dac..7366fa1 100644 > --- a/src/remote-viewer.c > +++ b/src/remote-viewer.c > @@ -1075,13 +1075,17 @@ remote_viewer_recent_add(gchar *uri, const gchar *mime_type) > > static void > remote_viewer_session_connected(VirtViewerSession *session, > - VirtViewerApp *self G_GNUC_UNUSED) > + gchar *guri) > { > gchar *uri = virt_viewer_session_get_uri(session); > const gchar *mime = virt_viewer_session_mime_type(session); > > + if (uri == NULL) > + uri = g_strdup(guri); > + > remote_viewer_recent_add(uri, mime); > g_free(uri); > + g_free(guri); > } > I know this block looks a bit strange (at least to my eyes), but at first it was like: - remote_viewer_recent_add(uri, mime); + if (uri == NULL) + remote_viewer_recent_add(guri, mime); + else + remote_viewer_recent_add(uri, mime); + g_free(uri); + g_free(guri); } Which also feels kind of odd, so I decided to go with the first one. Either way, no preference here, either way is fine for me. Regards, Eduardo. -- Eduardo de Barros Lima (Etrunko) Software Engineer - RedHat etrunko@xxxxxxxxxx _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list