diff --git a/compositor/compositor-drm.c b/compositor/compositor-drm.c index 855a811ee..9f76187c2 100644 --- a/compositor/compositor-drm.c +++ b/compositor/compositor-drm.c @@ -609,10 +609,14 @@ update_outputs(struct drm_compositor *ec) int connector_id = resources->connectors[i]; connector = drmModeGetConnector(ec->drm.fd, connector_id); - if (connector == NULL || - connector->connection != DRM_MODE_CONNECTED) + if (connector == NULL) continue; + if (connector->connection != DRM_MODE_CONNECTED) { + drmModeFreeConnector(connector); + continue; + } + connected |= (1 << connector_id); if (!(ec->connector_allocator & (1 << connector_id))) {