From 4dc7e99840cb9318ceeb3c11e382e46bb282aad5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Thu, 11 Apr 2024 11:26:24 +0200 Subject: [PATCH] xwayland: Use drmDevicesEqual in xwl_dmabuf_feedback_tranche_done xwl_dmabuf_feedback_tranche_target_device always allocates a new drmDevice for xwl_feedback->tmp_tranche.drm_dev, so the pointers are never equal here. Fixes: 6f0b9deed668 ("xwayland: use drmDevice to compare DRM devices") v2: * Flip order of checks, so drmDevicesEqual is called only if the supports_scanout flags match. Part-of: --- hw/xwayland/xwayland-dmabuf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/xwayland/xwayland-dmabuf.c b/hw/xwayland/xwayland-dmabuf.c index 0c5ed1c86..db7dc44ee 100644 --- a/hw/xwayland/xwayland-dmabuf.c +++ b/hw/xwayland/xwayland-dmabuf.c @@ -580,8 +580,8 @@ xwl_dmabuf_feedback_tranche_done(void *data, */ for (int i = 0; i < xwl_feedback->dev_formats_len; i++) { tranche = &xwl_feedback->dev_formats[i]; - if (tranche->drm_dev == xwl_feedback->tmp_tranche.drm_dev && - tranche->supports_scanout == xwl_feedback->tmp_tranche.supports_scanout) { + if (tranche->supports_scanout == xwl_feedback->tmp_tranche.supports_scanout && + drmDevicesEqual(tranche->drm_dev, xwl_feedback->tmp_tranche.drm_dev)) { appended = TRUE; /* Add all format/mods to this tranche */