On Fri, 2015-07-10 at 14:58 +0200, Fabiano Fidêncio wrote: > Hey, > > On Fri, Jul 10, 2015 at 1:13 PM, Pavel Grunt <pgrunt@xxxxxxxxxx> wrote: > > If a client (virt-manager, spicy) is not setting display dimensions > > and the "resize-guest" property is disabled, spice-gtk sends a wrong > > monitor config message where all the monitors have width = heigh = 0 > > when the agent connects. This message can confuse the guest, in that > > case the guest will change the resolution of its monitor. > > I would mention that it is a regression introduced by > 28312b8d1e287a320851e8828825f2ca138d8b0b, as you already pointed me > out in a private discussion. > ok > > > > > Resolves: > > https://bugzilla.redhat.com/show_bug.cgi?id=1240721 > > --- > > src/channel-main.c | 21 +++++++++++++++++++++ > > 1 file changed, 21 insertions(+) > > > > diff --git a/src/channel-main.c b/src/channel-main.c > > index 84161cd..3bd5a02 100644 > > --- a/src/channel-main.c > > +++ b/src/channel-main.c > > @@ -1415,6 +1415,22 @@ static void agent_clipboard_release(SpiceMainChannel > > *channel, guint selection) > > agent_msg_queue(channel, VD_AGENT_CLIPBOARD_RELEASE, msgsize, msg); > > } > > > > +static gboolean any_display_has_dimensions(SpiceMainChannel *channel) > > +{ > > + SpiceMainChannelPrivate *c; > > + guint i; > > + > > + g_return_if_fail(SPICE_IS_MAIN_CHANNEL(channel)); > > + c = channel->priv; > > + > > + for (i = 0; i < MAX_DISPLAY; i++) { > > + if (c->display[i].width > 0 && c->display[i].height > 0) > > + return TRUE; > > + } > > + > > + return FALSE; > > +} > > + > > /* main context*/ > > static gboolean timer_set_display(gpointer data) > > { > > @@ -1427,6 +1443,11 @@ static gboolean timer_set_display(gpointer data) > > if (!c->agent_connected) > > return FALSE; > > > > + if (!any_display_has_dimensions(channel)) { > > + SPICE_DEBUG("Not sending monitors config, at least one monitor must > > have dimensions"); > > + return FALSE; > > + } > > + > > session = spice_channel_get_session(SPICE_CHANNEL(channel)); > > > > if (!spice_main_agent_test_capability(channel, > > VD_AGENT_CAP_SPARSE_MONITORS_CONFIG)) { > > -- > > 2.4.5 > > > > _______________________________________________ > > Spice-devel mailing list > > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > > http://lists.freedesktop.org/mailman/listinfo/spice-devel > > Looks good, ACK! > Pushed, thanks Pavel _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel