mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2024-11-25 08:32:30 +00:00
backend/drm: call get_drm_connector_props() when creating connector
This function fetches property IDs. These don't change for the lifetime of the connector. Instead of refreshing the property IDs on hotplug (and leaving property IDs unset for disconnected connectors), only fetch the property IDs when we create the connector.
This commit is contained in:
parent
feb54979c0
commit
836cb820d0
@ -1379,6 +1379,11 @@ static struct wlr_drm_connector *create_drm_connector(struct wlr_drm_backend *dr
|
||||
wlr_conn->status = DRM_MODE_DISCONNECTED;
|
||||
wlr_conn->id = drm_conn->connector_id;
|
||||
|
||||
if (!get_drm_connector_props(drm->fd, wlr_conn->id, &wlr_conn->props)) {
|
||||
free(wlr_conn);
|
||||
return false;
|
||||
}
|
||||
|
||||
const char *conn_name =
|
||||
drmModeGetConnectorTypeName(drm_conn->connector_type);
|
||||
if (conn_name == NULL) {
|
||||
@ -1511,10 +1516,6 @@ static bool connect_drm_connector(struct wlr_drm_connector *wlr_conn,
|
||||
wlr_log(WLR_ERROR, "Unknown subpixel value: %d", (int)drm_conn->subpixel);
|
||||
}
|
||||
|
||||
if (!get_drm_connector_props(drm->fd, wlr_conn->id, &wlr_conn->props)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
uint64_t non_desktop;
|
||||
if (get_drm_prop(drm->fd, wlr_conn->id,
|
||||
wlr_conn->props.non_desktop, &non_desktop)) {
|
||||
|
Loading…
Reference in New Issue
Block a user