From e6d10539af1fdca33b10bc3c1dfac16f1cdfe1c8 Mon Sep 17 00:00:00 2001 From: Tom Englund Date: Thu, 13 Jun 2024 12:08:02 +0200 Subject: core: fix a few small memory leaks on exit (#6470) * renderer: add destructor and destroy event source add destructor and destroy the event source. one less leak on exit of compositor reported by asan. * compositor: cleanup eventloop on exit destruct hyprctl to release the event sources, and properly cleanup the event loop on exit of compositor. less leaks on exit reported by asan * threadmgr: destroy event source on destruction destroy the event source on destruction. * eventloopmgr: reset eventloopmgr on exit aswell reset the eventloopmanager on exit of compositor and free the leaking last idle frame on monitor destroy. --- src/render/Renderer.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/render/Renderer.cpp') diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 48fa92a0..4fe35c7e 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -90,6 +90,11 @@ CHyprRenderer::CHyprRenderer() { wl_event_source_timer_update(m_pCursorTicker, 500); } +CHyprRenderer::~CHyprRenderer() { + if (m_pCursorTicker) + wl_event_source_remove(m_pCursorTicker); +} + static void renderSurface(SP surface, int x, int y, void* data) { if (!surface->current.buffer || !surface->current.buffer->texture) return; -- cgit v1.2.3