mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-22 12:55:58 +01:00
backend/x11: prevent segfault on empty DRI3 response
This commit is contained in:
parent
44069dfd5e
commit
56502be1d1
1 changed files with 12 additions and 8 deletions
|
@ -448,16 +448,20 @@ struct wlr_backend *wlr_x11_backend_create(struct wl_display *display,
|
||||||
xcb_dri3_query_version(x11->xcb, 1, 2);
|
xcb_dri3_query_version(x11->xcb, 1, 2);
|
||||||
xcb_dri3_query_version_reply_t *dri3_reply =
|
xcb_dri3_query_version_reply_t *dri3_reply =
|
||||||
xcb_dri3_query_version_reply(x11->xcb, dri3_cookie, NULL);
|
xcb_dri3_query_version_reply(x11->xcb, dri3_cookie, NULL);
|
||||||
if (dri3_reply && dri3_reply->major_version >= 1) {
|
if (dri3_reply) {
|
||||||
x11->have_dri3 = true;
|
if (dri3_reply->major_version >= 1) {
|
||||||
x11->dri3_major_version = dri3_reply->major_version;
|
x11->have_dri3 = true;
|
||||||
x11->dri3_minor_version = dri3_reply->minor_version;
|
x11->dri3_major_version = dri3_reply->major_version;
|
||||||
|
x11->dri3_minor_version = dri3_reply->minor_version;
|
||||||
|
} else {
|
||||||
|
wlr_log(WLR_INFO, "X11 does not support required DRI3 version "
|
||||||
|
"(has %"PRIu32".%"PRIu32", want 1.0)",
|
||||||
|
dri3_reply->major_version, dri3_reply->minor_version);
|
||||||
|
}
|
||||||
|
free(dri3_reply);
|
||||||
} else {
|
} else {
|
||||||
wlr_log(WLR_INFO, "X11 does not support required DRI3 version "
|
wlr_log(WLR_INFO, "X11 does not support required DRi3 version");
|
||||||
"(has %"PRIu32".%"PRIu32", want 1.0)",
|
|
||||||
dri3_reply->major_version, dri3_reply->minor_version);
|
|
||||||
}
|
}
|
||||||
free(dri3_reply);
|
|
||||||
} else {
|
} else {
|
||||||
wlr_log(WLR_INFO, "X11 does not support DRI3 extension");
|
wlr_log(WLR_INFO, "X11 does not support DRI3 extension");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue