From 69474aa49407d0d026483acd0a1ab0dd657fdb83 Mon Sep 17 00:00:00 2001 From: Sepandar <116840915+flashrun24@users.noreply.github.com> Date: Sat, 2 May 2026 15:19:48 +0000 Subject: [PATCH] internal: clean up files on SIGTERM (#155) --- src/hyprpicker.cpp | 9 ++------- src/hyprpicker.hpp | 2 +- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/hyprpicker.cpp b/src/hyprpicker.cpp index 4beab1e..2f03fdc 100644 --- a/src/hyprpicker.cpp +++ b/src/hyprpicker.cpp @@ -13,8 +13,7 @@ #include static void sigHandler(int sig) { - g_pHyprpicker->m_vLayerSurfaces.clear(); - exit(0); + g_pHyprpicker->m_bRunning.store(false); } void CHyprpicker::init() { @@ -123,11 +122,7 @@ void CHyprpicker::init() { while (m_bRunning && wl_display_dispatch(m_pWLDisplay) != -1) { //renderSurface(m_pLastSurface); } - - if (m_pWLDisplay) { - wl_display_disconnect(m_pWLDisplay); - m_pWLDisplay = nullptr; - } + finish(1); } void CHyprpicker::finish(int code) { diff --git a/src/hyprpicker.hpp b/src/hyprpicker.hpp index 74c4b8d..27018b3 100644 --- a/src/hyprpicker.hpp +++ b/src/hyprpicker.hpp @@ -54,7 +54,7 @@ class CHyprpicker { bool m_bUseLowerCase = false; bool m_bIncludeCursor = false; - bool m_bRunning = true; + volatile std::atomic m_bRunning = true; float m_fZoomScale = 10.0; int m_iCircleRadius = 100;