#define LABWC_MACROS_H
#include <limits.h>
+#include <wlr/version.h>
/**
* ARRAY_SIZE() - Get the number of elements in array.
#define BOUNDED_INT(a) ((a) < INT_MAX && (a) > INT_MIN)
#endif
+#define LAB_WLR_VERSION_AT_LEAST(major, minor, micro) \
+ (WLR_VERSION_NUM >= (((major) << 16) | ((minor) << 8) | (micro)))
+
#endif /* LABWC_MACROS_H */
* to use planes and present directly.
* This is also useful for debugging the DRM parts of
* another compositor.
+ *
+ * All drm leasing is disabled due to a UAF bug in wlroots.
+ * We assume that the fix will be backported to 0.19.1 and thus
+ * check for a version >= 0.19.1. See following link for the fix status:
+ * https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/5104
+ *
+ * TODO: remove once labwc starts tracking 0.20.x and the fix has been merged.
*/
+#if LAB_WLR_VERSION_AT_LEAST(0, 19, 1)
if (server->drm_lease_manager && wlr_output_is_drm(wlr_output)) {
wlr_drm_lease_v1_manager_offer_output(
server->drm_lease_manager, wlr_output);
}
+#endif
/*
* Don't configure any non-desktop displays, such as VR headsets;