backend/drm: fix stack overflow in dealloc_crtc
Call drm_crtc_commit directly instead of calling drm_connector_set_mode.
This restores the previous behaviour where conn_enable was called [1].
[1]: 0c7c562482/backend/drm/drm.c (L1093)
Closes: https://github.com/swaywm/wlroots/issues/2253
This commit is contained in:
parent
9b85a8b43d
commit
e77c046cf9
|
@ -1052,7 +1052,12 @@ static void dealloc_crtc(struct wlr_drm_connector *conn) {
|
|||
wlr_log(WLR_DEBUG, "De-allocating CRTC %zu for output '%s'",
|
||||
conn->crtc - drm->crtcs, conn->output.name);
|
||||
|
||||
drm_connector_set_mode(conn, NULL);
|
||||
conn->crtc->pending_modeset = true;
|
||||
conn->crtc->pending.active = false;
|
||||
if (!drm_crtc_commit(conn, 0)) {
|
||||
return;
|
||||
}
|
||||
|
||||
drm_plane_finish_surface(conn->crtc->primary);
|
||||
drm_plane_finish_surface(conn->crtc->cursor);
|
||||
if (conn->crtc->cursor != NULL) {
|
||||
|
|
Loading…
Reference in New Issue