From c78a869e7c00fa95fc6a9f62bbd822fa579806b2 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Tue, 17 Nov 2015 23:39:57 +0200 Subject: Fb: collect fbs and destroy them in card's destructor --- libkms++/framebuffer.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'libkms++/framebuffer.cpp') diff --git a/libkms++/framebuffer.cpp b/libkms++/framebuffer.cpp index a7e5ad6..2481561 100644 --- a/libkms++/framebuffer.cpp +++ b/libkms++/framebuffer.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -14,6 +15,7 @@ namespace kms Framebuffer::Framebuffer(Card& card, int width, int height) : DrmObject(card, DRM_MODE_OBJECT_FB), m_width(width), m_height(height) { + card.m_framebuffers.push_back(this); } Framebuffer::Framebuffer(Card& card, uint32_t id) @@ -25,6 +27,16 @@ Framebuffer::Framebuffer(Card& card, uint32_t id) m_height = fb->height; drmModeFreeFB(fb); + + card.m_framebuffers.push_back(this); } +Framebuffer::~Framebuffer() +{ + auto& fbs = card().m_framebuffers; + auto iter = find(fbs.begin(), fbs.end(), this); + card().m_framebuffers.erase(iter); +} + + } -- cgit v1.2.3