[virt-tools-list] [PATCHv2 virt-viewer 05/10] spice: enable/disable share folder
Marc-André Lureau
mlureau at redhat.com
Thu Mar 5 17:34:59 UTC 2015
----- Original Message -----
> On Wed, Mar 4, 2015 at 7:01 PM, Marc-André Lureau
> <marcandre.lureau at gmail.com> wrote:
> > Connect/disconnect webdav channel to enable or disable sharing folder
> > ---
> > src/virt-viewer-session-spice.c | 27 +++++++++++++++++++++++++++
> > 1 file changed, 27 insertions(+)
> >
> > diff --git a/src/virt-viewer-session-spice.c
> > b/src/virt-viewer-session-spice.c
> > index 4414212..227b02f 100644
> > --- a/src/virt-viewer-session-spice.c
> > +++ b/src/virt-viewer-session-spice.c
> > @@ -961,6 +961,30 @@ name_changed(GObject *gobject G_GNUC_UNUSED,
> > g_free(name);
> > }
> >
> > +static void
> > +update_share_folder(VirtViewerSessionSpice *self)
> > +{
> > + gboolean share;
> > + SpiceSession *session = self->priv->session;
> > +
> > + g_object_get(self, "share-folder", &share, NULL);
> > +
> > + GList *l, *channels = spice_session_get_channels(session);
>
> Declare the GLists in the beginning of the function (before the
> g_object_get()) ...
ok
>
> > + for (l = channels; l != NULL; l = l->next) {
> > + SpiceChannel *channel = l->data;
> > +
> > + if (!SPICE_IS_WEBDAV_CHANNEL(channel))
> > + continue;
> > +
> > + if (share)
> > + spice_channel_connect(channel);
> > + else
> > + spice_channel_disconnect(channel, SPICE_CHANNEL_NONE);
> > + }
> > +
> > + g_list_free(l);
>
> You should g_list_free() the channels list and the l one.
>
that was supposed to be "channels" not "l" (the iterator not to free)
> > +}
> > +
> > VirtViewerSession *
> > virt_viewer_session_spice_new(VirtViewerApp *app, GtkWindow *main_window)
> > {
> > @@ -980,6 +1004,9 @@ virt_viewer_session_spice_new(VirtViewerApp *app,
> > GtkWindow *main_window)
> > G_CALLBACK(uuid_changed), self, 0);
> > virt_viewer_signal_connect_object(self->priv->session, "notify::name",
> > G_CALLBACK(name_changed), self, 0);
> > + virt_viewer_signal_connect_object(self, "notify::share-folder",
> > + G_CALLBACK(update_share_folder),
> > self,
> > + G_CONNECT_SWAPPED);
> >
> > g_object_bind_property(self->priv->session, "shared-dir",
> > self, "shared-folder",
> > --
> > 2.1.0
> >
> > _______________________________________________
> > virt-tools-list mailing list
> > virt-tools-list at redhat.com
> > https://www.redhat.com/mailman/listinfo/virt-tools-list
>
>
>
> --
> Fabiano Fidêncio
>
> _______________________________________________
> virt-tools-list mailing list
> virt-tools-list at redhat.com
> https://www.redhat.com/mailman/listinfo/virt-tools-list
More information about the virt-tools-list
mailing list