From eaecf7db14cff793e46c432edf68fef58b43373b Mon Sep 17 00:00:00 2001 From: Tom Englund Date: Sun, 2 Jun 2024 18:42:54 +0200 Subject: core: fix a few asan reported issues and a coredump on exit (#6285) * xwayland: add destructor to CXWM and free resource the wl_event_resource was running upon destruction of the compositor causing a null pointer segfault in onX11Event so ensure the event is removed upon destruction, also free the memory allocated by xcb_errors_context_new and finally call xcb_disconnect on the connection to free the fd and its memory. * hyprctl: dont leak the fd on destruction add a destructor and properly free the fd on destruction * eventloop: add destructor and free event source properly free the wl_event_source upon destruction. --- src/managers/eventLoop/EventLoopManager.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/managers/eventLoop/EventLoopManager.hpp') diff --git a/src/managers/eventLoop/EventLoopManager.hpp b/src/managers/eventLoop/EventLoopManager.hpp index f2ba61a4..7a4fa19e 100644 --- a/src/managers/eventLoop/EventLoopManager.hpp +++ b/src/managers/eventLoop/EventLoopManager.hpp @@ -10,6 +10,7 @@ class CEventLoopManager { public: CEventLoopManager(); + ~CEventLoopManager(); void enterLoop(wl_display* display, wl_event_loop* wlEventLoop); @@ -24,8 +25,9 @@ class CEventLoopManager { private: struct { - wl_event_loop* loop = nullptr; - wl_display* display = nullptr; + wl_event_loop* loop = nullptr; + wl_display* display = nullptr; + wl_event_source* eventSource = nullptr; } m_sWayland; struct { -- cgit v1.2.3