Re: [PATCH spice-gtk v3 2/4] gtk-session: do an early check of clipboard grab

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> From: Victor Toso <me@xxxxxxxxxxxxxx>
> 
> As we will not be doing anything in case clipboard is already grabbed
> 
> Signed-off-by: Victor Toso <victortoso@xxxxxxxxxx>
> Signed-off-by: Victor Toso <me@xxxxxxxxxxxxxx>
> ---
>  src/spice-gtk-session.c | 18 +++++++++++-------
>  1 file changed, 11 insertions(+), 7 deletions(-)
> 
> diff --git a/src/spice-gtk-session.c b/src/spice-gtk-session.c
> index 83eaa3e..5f052ed 100644
> --- a/src/spice-gtk-session.c
> +++ b/src/spice-gtk-session.c
> @@ -636,6 +636,11 @@ static void clipboard_get_targets(GtkClipboard
> *clipboard,
>          }
>      }
>  
> +    if (s->clip_grabbed[selection]) {
> +        SPICE_DEBUG("Clipboard is already grabbed, ignoring %d atoms",
> n_atoms);
> +        return;
> +    }
> +
>      /* Set all Atoms that matches our current protocol implementation */
>      num_types = 0;
>      for (a = 0; a < n_atoms; a++) {
> @@ -666,14 +671,13 @@ static void clipboard_get_targets(GtkClipboard
> *clipboard,
>          return;
>      }
>  
> -    if (!s->clip_grabbed[selection]) {
> -        s->clip_grabbed[selection] = TRUE;
> +    s->clip_grabbed[selection] = TRUE;
>  
> -        if (spice_main_agent_test_capability(s->main,
> VD_AGENT_CAP_CLIPBOARD_BY_DEMAND))
> -            spice_main_clipboard_selection_grab(s->main, selection, types,
> num_types);
> -        /* Sending a grab causes the agent to do an implicit release */
> -        s->nclip_targets[selection] = 0;
> -    }
> +    if (spice_main_agent_test_capability(s->main,
> VD_AGENT_CAP_CLIPBOARD_BY_DEMAND))
> +        spice_main_clipboard_selection_grab(s->main, selection, types,
> num_types);
> +
> +    /* Sending a grab causes the agent to do an implicit release */
> +    s->nclip_targets[selection] = 0;
>  }
>  
>  static void clipboard_owner_change(GtkClipboard        *clipboard,

Acked-by: Frediano Ziglio <fziglio@xxxxxxxxxx>

Frediano
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]