[mutter/wip/carlosg/x11less-preparations: 11/14] x11: Initialize GdkDisplay together with MetaX11Display
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter/wip/carlosg/x11less-preparations: 11/14] x11: Initialize GdkDisplay together with MetaX11Display
- Date: Tue, 7 May 2019 11:26:58 +0000 (UTC)
commit 14526950eaac48097fa069f469d8c66800afe8f3
Author: Carlos Garnacho <carlosg gnome org>
Date: Mon Dec 10 13:59:27 2018 +0100
x11: Initialize GdkDisplay together with MetaX11Display
It's no longer a "singleton", since it might be closed and opened again.
https://gitlab.gnome.org/GNOME/mutter/merge_requests/420
src/core/main.c | 16 ----------------
src/x11/meta-x11-display.c | 3 +++
2 files changed, 3 insertions(+), 16 deletions(-)
---
diff --git a/src/core/main.c b/src/core/main.c
index e8464720f..492c74a9d 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -606,22 +606,6 @@ meta_init (void)
meta_fatal ("Can't specify both SM save file and SM client id\n");
meta_main_loop = g_main_loop_new (NULL, FALSE);
-
- /*
- * We need to make sure the first client connecting to the X server
- * (e.g. Xwayland started from meta_wayland_init() above) is a permanent one,
- * so prepare the GDK X11 connection now already. Without doing this, if
- * there are any functionality that relies on X11 after here before
- * meta_display_open(), the X server will terminate itself when such a client
- * disconnects before the permanent GDK client connects.
- */
- if (meta_should_autostart_x11_display ())
- {
- GError *error = NULL;
-
- if (!meta_x11_init_gdk_display (&error))
- g_error ("Failed to open X11 display: %s", error->message);
- }
}
/**
diff --git a/src/x11/meta-x11-display.c b/src/x11/meta-x11-display.c
index 49f7abb5c..e9a73b249 100644
--- a/src/x11/meta-x11-display.c
+++ b/src/x11/meta-x11-display.c
@@ -1110,6 +1110,9 @@ meta_x11_display_new (MetaDisplay *display, GError **error)
};
Atom atoms[G_N_ELEMENTS(atom_names)];
+ if (!meta_x11_init_gdk_display (error))
+ return NULL;
+
g_assert (prepared_gdk_display);
gdk_display = g_steal_pointer (&prepared_gdk_display);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]