drm-syncobj: fix crash on missing timelines

fixes #8092
This commit is contained in:
Vaxry 2024-10-12 17:56:46 +01:00
parent c3f7c9bbb5
commit 1822707c7e

View file

@ -55,6 +55,9 @@ CDRMSyncobjSurfaceResource::CDRMSyncobjSurfaceResource(SP<CWpLinuxDrmSyncobjSurf
return; return;
} }
if (!pending.acquireTimeline)
return;
if (pending.acquireTimeline && pending.releaseTimeline && pending.acquireTimeline == pending.releaseTimeline) { if (pending.acquireTimeline && pending.releaseTimeline && pending.acquireTimeline == pending.releaseTimeline) {
if (pending.acquirePoint >= pending.releasePoint) { if (pending.acquirePoint >= pending.releasePoint) {
resource->error(WP_LINUX_DRM_SYNCOBJ_SURFACE_V1_ERROR_CONFLICTING_POINTS, "Acquire and release points are on the same timeline, and acquire >= release"); resource->error(WP_LINUX_DRM_SYNCOBJ_SURFACE_V1_ERROR_CONFLICTING_POINTS, "Acquire and release points are on the same timeline, and acquire >= release");