core: free more memory on destruction (#6348)

* pointermgr: add destructor to state and free buf

if the pointer has a buffer set it wont be freed upon destruction, make
asan more happy by adding a destructor and wlr_buf_unlock it on exit.

* cursormgr: free the animation timer event source

properly free the animation timer event source on destruction.

* compositor: free the critsig event source on exit

properly free the critical signal event source on exit.

* popup: clang format style

clang format.
This commit is contained in:
Tom Englund
2024-06-06 20:27:09 +02:00
committed by GitHub
parent c95845b148
commit af5f24929d
5 changed files with 21 additions and 9 deletions

View File

@@ -147,7 +147,7 @@ void CCompositor::initServer() {
m_sWLEventLoop = wl_display_get_event_loop(m_sWLDisplay);
// register crit signal handler
wl_event_loop_add_signal(m_sWLEventLoop, SIGTERM, handleCritSignal, nullptr);
m_critSigSource = wl_event_loop_add_signal(m_sWLEventLoop, SIGTERM, handleCritSignal, nullptr);
if (!envEnabled("HYPRLAND_NO_CRASHREPORTER")) {
signal(SIGSEGV, handleUnrecoverableSignal);
@@ -373,6 +373,9 @@ void CCompositor::cleanup() {
if (m_sWLRBackend)
wlr_backend_destroy(m_sWLRBackend);
if (m_critSigSource)
wl_event_source_remove(m_critSigSource);
wl_display_terminate(m_sWLDisplay);
m_sWLDisplay = nullptr;