[Spice-devel] [spice-gtk v1 1/4] gtk-session: remove extra clipboard selection check

Victor Toso victortoso at redhat.com
Thu Dec 6 09:11:32 UTC 2018


Hi,

On Thu, Dec 06, 2018 at 03:54:41AM -0500, Frediano Ziglio wrote:
> > 
> > From: Victor Toso <me at victortoso.com>
> > 
> > Commit 284c1f2d switched to
> > spice_main_channel_clipboard_selection_release() which does check if
> > agent is connected and does the right thing (expected) in regards to
> > releasing the clipboard by calling agent_clipboard_release() which
> > does check VD_AGENT_CAP_CLIPBOARD_SELECTION (like current removed
> > code).
> > 
> > So this patch removes redundant check.
> > 
> > Same goes for spice_main_channel_clipboard_selection_grab() function.
> > 
> > Signed-off-by: Victor Toso <victortoso at redhat.com>
> 
> This is not the same. The test in agent_clipboard_grab is done
> with g_return_if_fail which emits a warning while current code
> does not.

Which probably should

> Also spice_main_channel_clipboard_selection_grab always calls
> spice_channel_wakeup which current code does not.

Which is probably a bug there (should call spice_channel_wakeup
if message was queued.

What do you think?

> > ---
> >  src/spice-gtk-session.c | 7 ++-----
> >  1 file changed, 2 insertions(+), 5 deletions(-)
> > 
> > diff --git a/src/spice-gtk-session.c b/src/spice-gtk-session.c
> > index 20a4060..8d31045 100644
> > --- a/src/spice-gtk-session.c
> > +++ b/src/spice-gtk-session.c
> > @@ -610,9 +610,7 @@ static void clipboard_get_targets(GtkClipboard
> > *clipboard,
> >      }
> >  
> >      s->clip_grabbed[selection] = TRUE;
> > -
> > -    if (spice_main_channel_agent_test_capability(s->main,
> > VD_AGENT_CAP_CLIPBOARD_BY_DEMAND))
> > -        spice_main_channel_clipboard_selection_grab(s->main, selection,
> > types, num_types);
> > +    spice_main_channel_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;
> > @@ -636,8 +634,7 @@ static void clipboard_owner_change(GtkClipboard
> > *clipboard,
> >  
> >      if (s->clip_grabbed[selection]) {
> >          s->clip_grabbed[selection] = FALSE;
> > -        if (spice_main_channel_agent_test_capability(s->main,
> > VD_AGENT_CAP_CLIPBOARD_BY_DEMAND))
> > -            spice_main_channel_clipboard_selection_release(s->main,
> > selection);
> > +        spice_main_channel_clipboard_selection_release(s->main, selection);
> >      }
> >  
> >      switch (event->reason) {
> 
> Frediano
-------------- 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/20181206/c9d24bce/attachment.sig>


More information about the Spice-devel mailing list