> > 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> > --- > 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 2ae512f..798bdcd 100644 > --- a/src/spice-gtk-session.c > +++ b/src/spice-gtk-session.c > @@ -627,6 +627,11 @@ static void clipboard_get_targets(GtkClipboard > *clipboard, > selection = get_selection_from_clipboard(s, clipboard); > g_return_if_fail(selection != -1); > > + if (s->clip_grabbed[selection]) { > + SPICE_DEBUG("Clipboard is already grabbed, ignoring %d atoms", > n_atoms); > + return; > + } > + I would move this additional code after the debugging part printing function and atoms. > SPICE_DEBUG("%s:", __FUNCTION__); > if (spice_util_get_debug()) { > for (a = 0; a < n_atoms; a++) { > @@ -667,14 +672,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, Otherwise is fine Frediano _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel