[mutter/wip/carlosg/there-can-be-only-one: 150/151] backends/x11: Update MetaBackend on ClutterEvent processing
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/carlosg/there-can-be-only-one: 150/151] backends/x11: Update MetaBackend on ClutterEvent processing
- Date: Sat, 5 Feb 2022 12:17:05 +0000 (UTC)
commit f97f83c3b4ee89ab3af8ed02edc5dc01d7ddbeae
Author: Carlos Garnacho <carlosg gnome org>
Date: Sat Feb 5 13:12:48 2022 +0100
backends/x11: Update MetaBackend on ClutterEvent processing
This should fix wonky handling of last used device and pointer
visibility on X11. At least does on --nested under presence of
touchscreen/tablet.
src/backends/x11/meta-clutter-backend-x11.c | 11 +++++++++++
src/backends/x11/meta-clutter-backend-x11.h | 3 +++
src/backends/x11/meta-event-x11.c | 1 +
3 files changed, 15 insertions(+)
---
diff --git a/src/backends/x11/meta-clutter-backend-x11.c b/src/backends/x11/meta-clutter-backend-x11.c
index 9ee2be164a..2ae9c14ba0 100644
--- a/src/backends/x11/meta-clutter-backend-x11.c
+++ b/src/backends/x11/meta-clutter-backend-x11.c
@@ -536,3 +536,14 @@ meta_clutter_x11_get_use_stereo_stage (void)
{
return clutter_enable_stereo;
}
+
+void
+meta_clutter_backend_x11_update_backend_from_event (MetaClutterBackendX11 *clutter_backend_x11,
+ ClutterEvent *event)
+{
+ MetaClutterBackendX11Private *priv;
+
+ priv = meta_clutter_backend_x11_get_instance_private (clutter_backend_x11);
+
+ meta_backend_update_from_event (priv->backend, event);
+}
diff --git a/src/backends/x11/meta-clutter-backend-x11.h b/src/backends/x11/meta-clutter-backend-x11.h
index 187db4b9a6..a4128281e0 100644
--- a/src/backends/x11/meta-clutter-backend-x11.h
+++ b/src/backends/x11/meta-clutter-backend-x11.h
@@ -88,4 +88,7 @@ void meta_clutter_backend_x11_remove_filter (MetaClutterBackendX11 *clutter_back
void meta_clutter_x11_set_use_stereo_stage (gboolean use_stereo);
gboolean meta_clutter_x11_get_use_stereo_stage (void);
+void meta_clutter_backend_x11_update_backend_from_event (MetaClutterBackendX11 *clutter_backend_x11,
+ ClutterEvent *event);
+
#endif /* META_CLUTTER_BACKEND_X11_H */
diff --git a/src/backends/x11/meta-event-x11.c b/src/backends/x11/meta-event-x11.c
index e6483a8156..3ed426e58f 100644
--- a/src/backends/x11/meta-event-x11.c
+++ b/src/backends/x11/meta-event-x11.c
@@ -103,6 +103,7 @@ meta_x11_handle_event (XEvent *xevent)
{
/* forward the event into clutter for emission etc. */
clutter_do_event (event);
+ meta_clutter_backend_x11_update_backend_from_event (backend_x11, event);
clutter_event_free (event);
--spin;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]