xwayland: connect to the wl display before calling into EGL
using EGL (e.g., eglQueryString, epoxy_has_egl_extension) before establishing this connection enables the GBM/EGL implementation to potentially consume the WAYLAND_SOCKET fd, which, if closed, will cause the compositor to kill this xserver Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1646>
This commit is contained in:
parent
57a446c0f9
commit
ff8ec59c97
|
@ -984,6 +984,12 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xwl_screen->display = wl_display_connect(NULL);
|
||||||
|
if (xwl_screen->display == NULL) {
|
||||||
|
ErrorF("could not connect to wayland server\n");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef XWL_HAS_GLAMOR
|
#ifdef XWL_HAS_GLAMOR
|
||||||
if (xwl_screen->glamor && !xwl_glamor_init_gbm(xwl_screen)) {
|
if (xwl_screen->glamor && !xwl_glamor_init_gbm(xwl_screen)) {
|
||||||
ErrorF("xwayland glamor: failed to setup GBM backend, falling back to sw accel\n");
|
ErrorF("xwayland glamor: failed to setup GBM backend, falling back to sw accel\n");
|
||||||
|
@ -1012,12 +1018,6 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
|
||||||
if (!monitorResolution)
|
if (!monitorResolution)
|
||||||
monitorResolution = DEFAULT_DPI;
|
monitorResolution = DEFAULT_DPI;
|
||||||
|
|
||||||
xwl_screen->display = wl_display_connect(NULL);
|
|
||||||
if (xwl_screen->display == NULL) {
|
|
||||||
ErrorF("could not connect to wayland server\n");
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (use_fixed_size) {
|
if (use_fixed_size) {
|
||||||
if (!xwl_screen_init_randr_fixed(xwl_screen))
|
if (!xwl_screen_init_randr_fixed(xwl_screen))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
Loading…
Reference in New Issue