[Spice-devel] [PATCH spice-gtk 01/10] display: use bitfields for surface flags

Yonit Halperin yhalperi at redhat.com
Mon Sep 9 12:38:05 PDT 2013


On 09/08/2013 02:59 PM, Marc-André Lureau wrote:
> Checking by value make the flag fields useless.Uunfortunately, when
> adding more flags, the server will have to ensure it can safely send it,
> by checking some of new client caps.
Good catch. Can you also add a comment about this to spice-protcol 
SpiceSurfaceFlags, in case someone adds a flag that doesn't require new 
caps? (i.e., if one adds a flag, but it is not mandatory that the client 
will handle it, however, an old client, wouldn't identify 
SPICE_SURFACE_FLAGS_PRIMARY).

> ---
>   gtk/channel-display.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/gtk/channel-display.c b/gtk/channel-display.c
> index 75fa8c2..704d5a7 100644
> --- a/gtk/channel-display.c
> +++ b/gtk/channel-display.c
> @@ -1741,7 +1741,8 @@ static void display_handle_surface_create(SpiceChannel *channel, SpiceMsgIn *in)
>       surface->stride = create->width * 4;
>       surface->size   = surface->height * surface->stride;
>
> -    if (create->flags == SPICE_SURFACE_FLAGS_PRIMARY) {
> +    if (create->flags & SPICE_SURFACE_FLAGS_PRIMARY) {
> +        SPICE_DEBUG("primary flags: %d", create->flags);
>           surface->primary = true;
>           create_canvas(channel, surface);
>           if (c->mark_false_event_id != 0) {
>



More information about the Spice-devel mailing list