Re: [PATCH spice-gtk v2 5/5] gtk: Avoid deprecated gdk_pointer_grab

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

 



Hi,

On Wed, Dec 21, 2016 at 11:51:06AM +0100, Christophe Fergeau wrote:
> For the record, without this patch, the client mouse cursor is not
> hidden as expected when running on wayland and the guest is in mouse
> server mode, not sure why...
> So in addition to switching away from deprecated API, this fixes/works
> around a bug.
>
> Christophe

That should go to the commit log then, with some reference to the bugs.

>
> On Mon, Dec 19, 2016 at 05:26:36PM +0100, Pavel Grunt wrote:
> > ---
> >  src/spice-widget.c | 24 ++++++++++++++++++------
> >  1 file changed, 18 insertions(+), 6 deletions(-)
> > 
> > diff --git a/src/spice-widget.c b/src/spice-widget.c
> > index 791f5b0..cf18fa6 100644
> > --- a/src/spice-widget.c
> > +++ b/src/spice-widget.c
> > @@ -1016,6 +1016,17 @@ static gboolean do_pointer_grab(SpiceDisplay *display)
> >  #endif
> >  
> >      try_keyboard_grab(display);
> > +    G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> > +#if GTK_CHECK_VERSION(3, 20, 0)
> > +    status = gdk_seat_grab(spice_display_get_default_seat(display),
> > +                           window,
> > +                           GDK_SEAT_CAPABILITY_ALL_POINTING,
> > +                           TRUE,
> > +                           blank,
> > +                           NULL,
> > +                           NULL,
> > +                           NULL);
> > +#else
> >      /*
> >       * from gtk-vnc:
> >       * For relative mouse to work correctly when grabbed we need to
> > @@ -1025,8 +1036,6 @@ static gboolean do_pointer_grab(SpiceDisplay *display)
> >       * what window the pointer is actally over, so use 'FALSE' for
> >       * 'owner_events' parameter
> >       */
> > -    /* FIXME: gdk_pointer_grab() is deprecated */
> > -    G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> >      status = gdk_pointer_grab(window, FALSE,
> >                       GDK_POINTER_MOTION_MASK |
> >                       GDK_BUTTON_PRESS_MASK |
> > @@ -1036,6 +1045,7 @@ static gboolean do_pointer_grab(SpiceDisplay *display)
> >                       NULL,
> >                       blank,
> >                       GDK_CURRENT_TIME);
> > +#endif
> >      G_GNUC_END_IGNORE_DEPRECATIONS
> >      grab_successful = (status == GDK_GRAB_SUCCESS);
> >      if (!grab_successful) {
> > @@ -1135,9 +1145,6 @@ static void mouse_wrap(SpiceDisplay *display, GdkEventMotion *motion)
> >  
> >  }
> >  
> > -/* FIXME: gdk_pointer_ungrab()/gdk_display_warp_pointer() are deprecated */
> > -G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> > -
> >  static void try_mouse_ungrab(SpiceDisplay *display)
> >  {
> >      SpiceDisplayPrivate *d = display->priv;
> > @@ -1147,7 +1154,13 @@ static void try_mouse_ungrab(SpiceDisplay *display)
> >      if (!d->mouse_grab_active)
> >          return;
> >  
> > +    G_GNUC_BEGIN_IGNORE_DEPRECATIONS
> > +#if GTK_CHECK_VERSION(3, 20, 0)
> > +    gdk_seat_ungrab(spice_display_get_default_seat(display));
> > +#else
> >      gdk_pointer_ungrab(GDK_CURRENT_TIME);
> > +#endif
> > +    G_GNUC_END_IGNORE_DEPRECATIONS
> >      gtk_grab_remove(GTK_WIDGET(display));
> >  #ifdef G_OS_WIN32
> >      ClipCursor(NULL);
> > @@ -1170,7 +1183,6 @@ static void try_mouse_ungrab(SpiceDisplay *display)
> >      g_signal_emit(display, signals[SPICE_DISPLAY_MOUSE_GRAB], 0, false);
> >      spice_gtk_session_set_pointer_grabbed(d->gtk_session, false);
> >  }
> > -G_GNUC_END_IGNORE_DEPRECATIONS
> >  
> >  static void update_mouse_grab(SpiceDisplay *display)
> >  {
> > -- 
> > 2.11.0
> > 
> > _______________________________________________
> > Spice-devel mailing list
> > Spice-devel@xxxxxxxxxxxxxxxxxxxxx
> > https://lists.freedesktop.org/mailman/listinfo/spice-devel



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

Attachment: signature.asc
Description: PGP signature

_______________________________________________
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]