diff options
| author | Tom Englund <tomenglund26@gmail.com> | 2024-06-06 20:27:09 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-06 20:27:09 +0200 |
| commit | af5f24929d83cc7a97a77de516bc665e38acfa12 (patch) | |
| tree | f2afec3d02f3595efdadb4e40fa4724244953c40 /src/Compositor.cpp | |
| parent | c95845b1488b4bd63e901cbdc4cb68c27a45971b (diff) | |
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.
Diffstat (limited to 'src/Compositor.cpp')
| -rw-r--r-- | src/Compositor.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 254abd92..73708b1b 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -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; |
