[Spice-devel] [spice-gtk] clipboard: don't request targets without owner on X11

Frediano Ziglio fziglio at redhat.com
Sun Jan 27 19:12:55 UTC 2019


> 
> On X11, if the owner in GdkEventOwnerChange is set to NULL,
> it means there's no data in the clipboard, so it's pointless to
> request targets as the request will fail anyway.
> 

Surely Victor or other people knows more than me in this respect.

> On Wayland, owner is always NULL, so don't do anything there.
> 

And even if owner would be not NULL the GDK_IS_X11_DISPLAY check would
ignore Wayland so no change in behaviour for Wayland.

> Signed-off-by: Jakub Janků <jjanku at redhat.com>
> ---
>  src/spice-gtk-session.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/src/spice-gtk-session.c b/src/spice-gtk-session.c
> index 1a19bca..b48f92a 100644
> --- a/src/spice-gtk-session.c
> +++ b/src/spice-gtk-session.c
> @@ -674,6 +674,14 @@ static void clipboard_owner_change(GtkClipboard
> *clipboard,
>      }
>  
>      s->clipboard_by_guest[selection] = FALSE;
> +
> +#ifdef GDK_WINDOWING_X11
> +    if (!event->owner && GDK_IS_X11_DISPLAY(gdk_display_get_default())) {
> +        s->clip_hasdata[selection] = FALSE;
> +        return;
> +    }
> +#endif
> +
>      s->clip_hasdata[selection] = TRUE;
>      if (s->auto_clipboard_enable && !read_only(self))
>          gtk_clipboard_request_targets(clipboard, clipboard_get_targets,

Frediano


More information about the Spice-devel mailing list