[mutter/bilelmoussaoui/gdk-x11-only: 18/23] core: Add a copy of GDK_PRIORITY_EVENTS
- From: Bilal Elmoussaoui <bilelmoussaoui src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/bilelmoussaoui/gdk-x11-only: 18/23] core: Add a copy of GDK_PRIORITY_EVENTS
- Date: Mon, 30 May 2022 08:05:53 +0000 (UTC)
commit 72fcf866d792a744539da253d29e801d19dea816
Author: Bilal Elmoussaoui <belmouss redhat com>
Date: Mon May 9 11:48:57 2022 +0200
core: Add a copy of GDK_PRIORITY_EVENTS
Quoting Carlos:
The META_PRIORITY_EVENTS ± 1 happening below are in order to set these idles
and timeouts in a priority that is relative to the literal GDK event priority,
making those diverge is a likely way to sneakily break things.
But that's unlikely to happen, and decoupling mutter from GTK further
should make it moot, so perhaps it's alright after all.
src/core/events.h | 8 ++++++++
src/tests/meson.build | 3 +++
src/tests/test-client.c | 4 +++-
src/wayland/meta-wayland.c | 3 ++-
4 files changed, 16 insertions(+), 2 deletions(-)
---
diff --git a/src/core/events.h b/src/core/events.h
index 6338119ae7..5b48d3905d 100644
--- a/src/core/events.h
+++ b/src/core/events.h
@@ -25,6 +25,14 @@
#include "meta/display.h"
+/**
+ * META_PRIORITY_EVENTS: (value 0)
+ *
+ * This is the priority that events from the X server are given in the main loop.
+ */
+#define META_PRIORITY_EVENTS (G_PRIORITY_DEFAULT)
+
+
void meta_display_init_events (MetaDisplay *display);
void meta_display_free_events (MetaDisplay *display);
diff --git a/src/tests/meson.build b/src/tests/meson.build
index cada89d722..d08bd02228 100644
--- a/src/tests/meson.build
+++ b/src/tests/meson.build
@@ -116,6 +116,9 @@ test_client = executable('mutter-test-client',
gio_unix_dep,
x11_dep,
xext_dep,
+ graphene_dep,
+ json_glib_dep,
+ gsettings_desktop_schemas_dep,
],
install: have_installed_tests,
install_dir: mutter_installed_tests_libexecdir,
diff --git a/src/tests/test-client.c b/src/tests/test-client.c
index 0007d61ea2..4c7479ae6f 100644
--- a/src/tests/test-client.c
+++ b/src/tests/test-client.c
@@ -28,6 +28,8 @@
#include <string.h>
#include <X11/extensions/sync.h>
+#include "core/events.h"
+
const char *client_id = "0";
static gboolean wayland;
GHashTable *windows;
@@ -156,7 +158,7 @@ ensure_xsource_handler (GdkDisplay *gdkdisplay)
x_source->event_poll_fd.events = G_IO_IN;
g_source_add_poll (source, &x_source->event_poll_fd);
- g_source_set_priority (source, GDK_PRIORITY_EVENTS - 1);
+ g_source_set_priority (source, META_PRIORITY_EVENTS - 1);
g_source_set_can_recurse (source, TRUE);
g_source_attach (source, NULL);
diff --git a/src/wayland/meta-wayland.c b/src/wayland/meta-wayland.c
index afea5e875c..883b17d963 100644
--- a/src/wayland/meta-wayland.c
+++ b/src/wayland/meta-wayland.c
@@ -31,6 +31,7 @@
#include "clutter/clutter.h"
#include "cogl/cogl-egl.h"
#include "compositor/meta-surface-actor-wayland.h"
+#include "core/events.h"
#include "core/meta-context-private.h"
#include "wayland/meta-wayland-activation.h"
#include "wayland/meta-wayland-buffer.h"
@@ -584,7 +585,7 @@ meta_wayland_compositor_new (MetaContext *context)
* relating to X clients when we don't know what's happened to them
* according to the X protocol.
*/
- g_source_set_priority (wayland_event_source, GDK_PRIORITY_EVENTS + 1);
+ g_source_set_priority (wayland_event_source, META_PRIORITY_EVENTS + 1);
g_source_attach (wayland_event_source, NULL);
compositor->source = wayland_event_source;
g_source_unref (wayland_event_source);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]