[Spice-devel] [PATCH spice-gtk 2/5] Add SPICE_MAX_CLIPBOARD environment variable

Marc-André Lureau mlureau at redhat.com
Thu Nov 7 10:05:53 PST 2013



----- Original Message -----
> I guess this would work for relatively simple cases (e.g. where the client
> doesn't change its max-clipboard property after construction), but if you
> wanted it to be a more reliable override, I'd suggested having a simple
> internal getter function something like
> 
> static int get_max_clipboard(SpiceChannelMain* self)
> {
>   static gint env = g_get_env(...)
>   if (env)
>     return env;
>   return self->priv->max_clipboard;
> }
> 
> and then use this everywhere instead of reading the data member directly.
> But I don't care too much.

that makes sense, ok
> Jonathon
> 
> 
> ----- Original Message -----
> > From: "Marc-André Lureau" <marcandre.lureau at gmail.com>
> > To: spice-devel at freedesktop.org
> > Sent: Wednesday, November 6, 2013 3:25:09 PM
> > Subject: [Spice-devel] [PATCH spice-gtk 2/5] Add SPICE_MAX_CLIPBOARD
> > 	environment variable
> > 
> > From: Marc-André Lureau <marcandre.lureau at redhat.com>
> > 
> > Allow to easily override default max-clipboard value with environment
> > variable.
> > ---
> >  gtk/channel-main.c | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> > 
> > diff --git a/gtk/channel-main.c b/gtk/channel-main.c
> > index dbcaff8..75d0281 100644
> > --- a/gtk/channel-main.c
> > +++ b/gtk/channel-main.c
> > @@ -394,6 +394,17 @@ static void spice_main_channel_reset(SpiceChannel
> > *channel, gboolean migrating)
> >      SPICE_CHANNEL_CLASS(spice_main_channel_parent_class)->channel_reset(channel,
> >      migrating);
> >  }
> >  
> > +static void spice_main_constructed(GObject *object)
> > +{
> > +    SpiceMainChannelPrivate *c = SPICE_MAIN_CHANNEL(object)->priv;
> > +
> > +    if (g_getenv("SPICE_MAX_CLIPBOARD"))
> > +        c->max_clipboard = atoi(g_getenv("SPICE_MAX_CLIPBOARD"));
> > +
> > +    if (G_OBJECT_CLASS(spice_main_channel_parent_class)->constructed)
> > +
> > G_OBJECT_CLASS(spice_main_channel_parent_class)->constructed(object);
> > +}
> > +
> >  static void spice_main_channel_class_init(SpiceMainChannelClass *klass)
> >  {
> >      GObjectClass *gobject_class = G_OBJECT_CLASS(klass);
> > @@ -403,6 +414,7 @@ static void
> > spice_main_channel_class_init(SpiceMainChannelClass *klass)
> >      gobject_class->finalize     = spice_main_channel_finalize;
> >      gobject_class->get_property = spice_main_get_property;
> >      gobject_class->set_property = spice_main_set_property;
> > +    gobject_class->constructed  = spice_main_constructed;
> >  
> >      channel_class->handle_msg    = spice_main_handle_msg;
> >      channel_class->iterate_write = spice_channel_iterate_write;
> > --
> > 1.8.3.1
> > 
> > _______________________________________________
> > Spice-devel mailing list
> > Spice-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/spice-devel
> > 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 


More information about the Spice-devel mailing list