From 9fbe529c6bbbeaf9095dd5decf397dface556e74 Mon Sep 17 00:00:00 2001 From: Sepandar Date: Fri, 1 May 2026 20:54:06 -0700 Subject: [PATCH] updated sighandler --- 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 d5c13f8..6724097 100644 --- a/src/hyprpicker.cpp +++ b/src/hyprpicker.cpp @@ -13,8 +13,7 @@ #include static void sigHandler(int sig) { - g_pHyprpicker->m_vLayerSurfaces.clear(); // Cleans up the /run files - 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 b3e3bdf..44ac236 100644 --- a/src/hyprpicker.hpp +++ b/src/hyprpicker.hpp @@ -53,7 +53,7 @@ class CHyprpicker { bool m_bDisablePreview = false; bool m_bUseLowerCase = false; - bool m_bRunning = true; + volatile std::atomic m_bRunning = true; float m_fZoomScale = 10.0; int m_iCircleRadius = 100;