summaryrefslogtreecommitdiff
path: root/src/debug
diff options
context:
space:
mode:
Diffstat (limited to 'src/debug')
-rw-r--r--src/debug/HyprCtl.cpp7
-rw-r--r--src/debug/HyprCtl.hpp2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/debug/HyprCtl.cpp b/src/debug/HyprCtl.cpp
index bbe5019a..4563c5a1 100644
--- a/src/debug/HyprCtl.cpp
+++ b/src/debug/HyprCtl.cpp
@@ -1625,6 +1625,11 @@ CHyprCtl::CHyprCtl() {
startHyprCtlSocket();
}
+CHyprCtl::~CHyprCtl() {
+ if (m_eventSource)
+ wl_event_source_remove(m_eventSource);
+}
+
SP<SHyprCtlCommand> CHyprCtl::registerCommand(SHyprCtlCommand cmd) {
return m_vCommands.emplace_back(makeShared<SHyprCtlCommand>(cmd));
}
@@ -1805,5 +1810,5 @@ void CHyprCtl::startHyprCtlSocket() {
Debug::log(LOG, "Hypr socket started at {}", socketPath);
- wl_event_loop_add_fd(g_pCompositor->m_sWLEventLoop, m_iSocketFD, WL_EVENT_READABLE, hyprCtlFDTick, nullptr);
+ m_eventSource = wl_event_loop_add_fd(g_pCompositor->m_sWLEventLoop, m_iSocketFD, WL_EVENT_READABLE, hyprCtlFDTick, nullptr);
}
diff --git a/src/debug/HyprCtl.hpp b/src/debug/HyprCtl.hpp
index b48ea26a..21a2c5f8 100644
--- a/src/debug/HyprCtl.hpp
+++ b/src/debug/HyprCtl.hpp
@@ -8,6 +8,7 @@
class CHyprCtl {
public:
CHyprCtl();
+ ~CHyprCtl();
std::string makeDynamicCall(const std::string& input);
SP<SHyprCtlCommand> registerCommand(SHyprCtlCommand cmd);
@@ -25,6 +26,7 @@ class CHyprCtl {
void startHyprCtlSocket();
std::vector<SP<SHyprCtlCommand>> m_vCommands;
+ wl_event_source* m_eventSource = nullptr;
};
inline std::unique_ptr<CHyprCtl> g_pHyprCtl;