mirror of
https://github.com/X11Libre/xserver.git
synced 2026-04-14 17:18:09 +00:00
xwayland/glamor: Drop expecting_event bailing from xwl_drm_handle_device
If we bail without decrementing xwl_screen->expecting_event, xwl_screen_init will keep waiting indefinitely for an event which never arrives. Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1648 Fixes:2f113d68f6("xwayland: Add glamor and DRI3 support") Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1739> (cherry picked from commit375c35a5e4)
This commit is contained in:
committed by
Alan Coopersmith
parent
988a020a17
commit
8972dd93aa
@@ -1318,6 +1318,7 @@ xwl_drm_handle_device(void *data, struct wl_drm *drm, const char *device)
|
||||
|
||||
if (!xwl_gbm->device_name) {
|
||||
xwl_glamor_gbm_cleanup(xwl_screen);
|
||||
xwl_screen->expecting_event--;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1326,12 +1327,14 @@ xwl_drm_handle_device(void *data, struct wl_drm *drm, const char *device)
|
||||
ErrorF("wayland-egl: could not open %s (%s)\n",
|
||||
xwl_gbm->device_name, strerror(errno));
|
||||
xwl_glamor_gbm_cleanup(xwl_screen);
|
||||
xwl_screen->expecting_event--;
|
||||
return;
|
||||
}
|
||||
|
||||
if (drmGetDevice2(xwl_gbm->drm_fd, 0, &xwl_gbm->device) != 0) {
|
||||
ErrorF("wayland-egl: Could not fetch DRM device %s\n",
|
||||
xwl_gbm->device_name);
|
||||
xwl_screen->expecting_event--;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user