ACK. On Mon, Nov 03, 2014 at 01:56:30PM +0100, Marc-André Lureau wrote: > Returns TRUE if the pointer is currently grabbed by this session. > --- > gtk/spice-gtk-session-priv.h | 2 ++ > gtk/spice-gtk-session.c | 38 ++++++++++++++++++++++++++++++++++++++ > 2 files changed, 40 insertions(+) > > diff --git a/gtk/spice-gtk-session-priv.h b/gtk/spice-gtk-session-priv.h > index 48482b6..91304b2 100644 > --- a/gtk/spice-gtk-session-priv.h > +++ b/gtk/spice-gtk-session-priv.h > @@ -26,6 +26,8 @@ void spice_gtk_session_request_auto_usbredir(SpiceGtkSession *self, > gboolean state); > gboolean spice_gtk_session_get_read_only(SpiceGtkSession *self); > void spice_gtk_session_sync_keyboard_modifiers(SpiceGtkSession *self); > +void spice_gtk_session_set_pointer_grabbed(SpiceGtkSession *self, gboolean grabbed); > +gboolean spice_gtk_session_get_pointer_grabbed(SpiceGtkSession *self); > > G_END_DECLS > > diff --git a/gtk/spice-gtk-session.c b/gtk/spice-gtk-session.c > index 85872c4..52ad597 100644 > --- a/gtk/spice-gtk-session.c > +++ b/gtk/spice-gtk-session.c > @@ -63,6 +63,7 @@ struct _SpiceGtkSessionPrivate { > /* auto-usbredir related */ > gboolean auto_usbredir_enable; > int auto_usbredir_reqs; > + gboolean pointer_grabbed; > }; > > /** > @@ -115,6 +116,7 @@ enum { > PROP_SESSION, > PROP_AUTO_CLIPBOARD, > PROP_AUTO_USBREDIR, > + PROP_POINTER_GRABBED, > }; > > static guint32 get_keyboard_lock_modifiers(void) > @@ -311,6 +313,9 @@ static void spice_gtk_session_get_property(GObject *gobject, > case PROP_AUTO_USBREDIR: > g_value_set_boolean(value, s->auto_usbredir_enable); > break; > + case PROP_POINTER_GRABBED: > + g_value_set_boolean(value, s->pointer_grabbed); > + break; > default: > G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, prop_id, pspec); > break; > @@ -430,6 +435,22 @@ static void spice_gtk_session_class_init(SpiceGtkSessionClass *klass) > G_PARAM_CONSTRUCT | > G_PARAM_STATIC_STRINGS)); > > + /** > + * SpiceGtkSession:pointer-grabbed: > + * > + * Returns %TRUE if the pointer is currently grabbed by this session. > + * > + * Since: 0.27 > + **/ > + g_object_class_install_property > + (gobject_class, PROP_POINTER_GRABBED, > + g_param_spec_boolean("pointer-grabbed", > + "Pointer grabbed", > + "Whether the pointer is grabbed", > + FALSE, > + G_PARAM_READABLE | > + G_PARAM_STATIC_STRINGS)); > + > g_type_class_add_private(klass, sizeof(SpiceGtkSessionPrivate)); > } > > @@ -1157,3 +1178,20 @@ void spice_gtk_session_sync_keyboard_modifiers(SpiceGtkSession *self) > } > g_list_free(channels); > } > + > +G_GNUC_INTERNAL > +void spice_gtk_session_set_pointer_grabbed(SpiceGtkSession *self, gboolean grabbed) > +{ > + g_return_if_fail(SPICE_IS_GTK_SESSION(self)); > + > + self->priv->pointer_grabbed = grabbed; > + g_object_notify(G_OBJECT(self), "pointer-grabbed"); > +} > + > +G_GNUC_INTERNAL > +gboolean spice_gtk_session_get_pointer_grabbed(SpiceGtkSession *self) > +{ > + g_return_val_if_fail(SPICE_IS_GTK_SESSION(self), FALSE); > + > + return self->priv->pointer_grabbed; > +} > -- > 1.9.3 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel
Attachment:
pgpti24Q4JfYp.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel