[Spice-devel] [PATCH spice-gtk 2/2] channel-main: Add support for VD_AGENT_CAP_SPARSE_MONITORS_CONFIG (rhbz#881072)

Steven Newbury steve at snewbury.org.uk
Sat Jan 19 03:50:56 PST 2013


On Fri, 2013-01-18 at 14:33 +0100, Hans de Goede wrote:
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
>  gtk/channel-main.c | 20 ++++++++++++++------
>  spice-common       |  2 +-
>  2 files changed, 15 insertions(+), 7 deletions(-)
> 
> diff --git a/gtk/channel-main.c b/gtk/channel-main.c
> index 706c119..dfd2245 100644
> --- a/gtk/channel-main.c
> +++ b/gtk/channel-main.c
> @@ -1019,11 +1019,15 @@ gboolean spice_main_send_monitor_config(SpiceMainChannel *channel)
>      c = channel->priv;
>      g_return_val_if_fail(c->agent_connected, FALSE);
>  
> -    monitors = 0;
> -    /* FIXME: fix MonitorConfig to be per display */
> -    for (i = 0; i < SPICE_N_ELEMENTS(c->display); i++) {
> -        if (c->display[i].enabled)
> -            monitors += 1;
> +    if (spice_main_agent_test_capability(channel,
> +                                     VD_AGENT_CAP_SPARSE_MONITORS_CONFIG)) {
> +        monitors = SPICE_N_ELEMENTS(c->display);
> +    } else {
> +        monitors = 0;
> +        for (i = 0; i < SPICE_N_ELEMENTS(c->display); i++) {
> +            if (c->display[i].enabled)
> +                monitors += 1;
> +        }
>      }
>  
>      size = sizeof(VDAgentMonitorsConfig) + sizeof(VDAgentMonConfig) * monitors;
> @@ -1036,8 +1040,12 @@ gboolean spice_main_send_monitor_config(SpiceMainChannel *channel)
>  
>      j = 0;
>      for (i = 0; i < SPICE_N_ELEMENTS(c->display); i++) {
> -        if (!c->display[i].enabled)
> +        if (!c->display[i].enabled) {
> +            if (spice_main_agent_test_capability(channel,
> +                                     VD_AGENT_CAP_SPARSE_MONITORS_CONFIG))
> +                j++;
>              continue;
> +        }
>          mon->monitors[j].depth  = c->display_color_depth ? c->display_color_depth : 32;
>          mon->monitors[j].width  = c->display[j].width;
>          mon->monitors[j].height = c->display[j].height;
> diff --git a/spice-common b/spice-common
> index 81f40cc..8a10919 160000
> --- a/spice-common
> +++ b/spice-common
> @@ -1 +1 @@
> -Subproject commit 81f40cca5f930bb256da62760859ac802f11b3a7
> +Subproject commit 8a10919658950aa600bd5fcaf12c28b026fd70ad

Since this has been been commited to spice-gtk the tree fails to
sucessfully update the spice-common submodule:

8a10919658950aa600bd5fcaf12c28b026fd70ad doesn't exist (yet?)




More information about the Spice-devel mailing list