[Spice-devel] [PATCH 3/4] Do not unconditionally send monitor config on agent connect

Jonathon Jongsma jjongsma at redhat.com
Tue Aug 4 10:10:58 PDT 2015


On Thu, 2015-07-16 at 18:16 -0400, Marc-André Lureau wrote:
> Hi
> 
> ----- Original Message -----
> > It is not the spice-gtk library's responsibility to automatically send
> > monitor config messages. That responsibility belongs to the application.
> > There are some situations where the SpiceDisplay widget automatically
> > sends monitor config messages, but only if the "resize-guest" property
> > is set. In other words, there is a way to disable this behavior. But
> > there is no reason for the library to trigger a monitor configuration
> > update unconditionally when the vdagent becomes connected. This almost
> > always results in an unnecessary configuration message being sent to the
> > server.
> 
> Shouldn't it send the current config when resize-guest is enabled and
> agent is started?

well, the problem is that "resize-guest" is a property of the individual
SpiceDisplay Gtk widgets. So, there is no way to check this property
from SpiceMainChannel. In fact, it's entirely possible for an
application to have one display widget with "resize-guest" == TRUE and
another with "resize-guest" == FALSE. So I think that sending it from
the main channel is clearly the wrong thing to do (full disclosure: I
think that I was the one who added this call here). So the only question
in my mind is whether we need to move this functionality into
spice-widget.c or whether it can just be dropped. I'll do a little more
digging.


> 
> > ---
> >  src/channel-main.c | 1 -
> >  1 file changed, 1 deletion(-)
> > 
> > diff --git a/src/channel-main.c b/src/channel-main.c
> > index e4484e3..3b9d5b1 100644
> > --- a/src/channel-main.c
> > +++ b/src/channel-main.c
> > @@ -1947,7 +1947,6 @@ static void main_agent_handle_msg(SpiceChannel
> > *channel,
> >          }
> >          c->agent_caps_received = true;
> >          g_coroutine_signal_emit(self, signals[SPICE_MAIN_AGENT_UPDATE], 0);
> > -        update_display_timer(SPICE_MAIN_CHANNEL(channel), 0);
> >  
> >          if (caps->request)
> >              agent_announce_caps(self);
> > --
> > 2.1.0
> > 
> > _______________________________________________
> > 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