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