diff options
author | Simon Ser <contact@emersion.fr> | 2021-08-10 18:47:14 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2021-09-07 11:18:18 +0200 |
commit | 3c74bd0c915e7ddd1b5dcc05d14f5555de10e980 (patch) | |
tree | 505a22f40ab0fc4379961d668129c73dba9b5786 /protocol | |
parent | 3fbf6e02a35e66abb52ca9c79527f3d07e8d9e4a (diff) |
backend/drm: introduce wlr_drm_connector_state
Previously, we were copying wlr_output_state on the stack and
patching it up to be guaranteed to have a proper drmModeModeInfo
stored in it (and not a custom mode). Also, we had a bunch of
helpers deriving DRM-specific information from the generic
wlr_output_state.
Copying the wlr_output_state worked fine so far, but with output
layers we'll be getting a wl_list in there. An empty wl_list stores
two pointers to itself, copying it on the stack blindly results in
infinite loops in wl_list_for_each.
To fix this, rework our DRM backend to stop copying wlr_output_state,
instead add a new struct wlr_drm_connector_state which holds both
the wlr_output_state and additional DRM-specific information.
Diffstat (limited to 'protocol')
0 files changed, 0 insertions, 0 deletions