summaryrefslogtreecommitdiff
path: root/src/protocols/DRMSyncobj.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2024-08-07 16:08:50 +0200
committerVaxry <vaxry@vaxry.net>2024-08-07 16:08:50 +0200
commit99e9cb510777c62f56c94137b302186d4d9506d8 (patch)
treea894d044ffe5601eb4be32e9c603a10ac9670bbb /src/protocols/DRMSyncobj.cpp
parentf36c625e37f8913d8da38365a4783948f2217f02 (diff)
drm-syncobj: fixup fd leak with timelines
Diffstat (limited to 'src/protocols/DRMSyncobj.cpp')
-rw-r--r--src/protocols/DRMSyncobj.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/protocols/DRMSyncobj.cpp b/src/protocols/DRMSyncobj.cpp
index 8b0330de..37e6d0f1 100644
--- a/src/protocols/DRMSyncobj.cpp
+++ b/src/protocols/DRMSyncobj.cpp
@@ -114,6 +114,11 @@ CDRMSyncobjTimelineResource::CDRMSyncobjTimelineResource(SP<CWpLinuxDrmSyncobjTi
}
}
+CDRMSyncobjTimelineResource::~CDRMSyncobjTimelineResource() {
+ if (fd >= 0)
+ close(fd);
+}
+
SP<CDRMSyncobjTimelineResource> CDRMSyncobjTimelineResource::fromResource(wl_resource* res) {
auto data = (CDRMSyncobjTimelineResource*)(((CWpLinuxDrmSyncobjTimelineV1*)wl_resource_get_user_data(res))->data());
return data ? data->self.lock() : nullptr;