[Spice-devel] [spice-gtk v4 1/2] gtk-session: improve doc on owner-changed
Victor Toso
victortoso at redhat.com
Tue Jan 15 09:27:38 UTC 2019
Hi,
On Mon, Jan 14, 2019 at 08:49:52PM +0100, Jakub Janku wrote:
> Hi,
>
> On Mon, Jan 14, 2019 at 1:34 PM Victor Toso <victortoso at redhat.com> wrote:
> >
> > From: Victor Toso <me at victortoso.com>
> >
> > * Sets -> Set (Jakub)
> > * Clarify when onwer-changed event is called with
> > owner == self (Jakub)
> >
> > Signed-off-by: Victor Toso <victortoso at redhat.com>
> > ---
> > src/spice-gtk-session.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/src/spice-gtk-session.c b/src/spice-gtk-session.c
> > index adc72a2..abce43f 100644
> > --- a/src/spice-gtk-session.c
> > +++ b/src/spice-gtk-session.c
> > @@ -631,7 +631,7 @@ static void clipboard_get_targets(GtkClipboard *clipboard,
> > * Situation 2: When spice-gtk holds the focus and is changing the clipboard by
> > * either setting new content information with gtk_clipboard_set_with_owner() or
> > * clearing up old content with gtk_clipboard_clear(). The main difference between
> > - * Wayland and X11 is that on X11, gtk_clipboard_clear() set the owner to none, which
> > + * Wayland and X11 is that on X11, gtk_clipboard_clear() sets the owner to none, which
> > * emits owner-change event; On Wayland that does not happen as spice-gtk still is
> > * the owner of the clipboard.
> > */
> > @@ -668,8 +668,8 @@ static void clipboard_owner_change(GtkClipboard *clipboard,
> > return;
> > }
> >
> > - /* This situation happens when clipboard is being cleared by us, when agent
> > - * sends a release-grab for instance */
> > + /* This situation happens when clipboard is being set by us (grab message)
>
> this is fine
>
> > + * and on X11 also when cleared by us (release-grab) */
>
> But I don't understand why you added this.
> If spice-gtk receives release-grab from vdagent, it calls
> gtk_clipboard_clear(), then "owner-change" is emitted. In the
> callback, gtk_clipboard_get_owner() returns NULL, so the condition
> below evaluates as FALSE -- which is the case you're trying to handle
> in 2/2 of this series, if I'm not mistaken.
>
> So I think this line should be removed.
I'm stupid. I've documented what I saw but indeed, again, not
pertinent to the check below. Thanks, I'll remove it.
> > if (gtk_clipboard_get_owner(clipboard) == G_OBJECT(self)) {
> > return;
> > }
> > --
> > 2.20.1
> >
> Cheers,
> Jakub
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20190115/0db63fd5/attachment.sig>
More information about the Spice-devel
mailing list