From 38c25bb50d76409193db2438db60369f3868edf9 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sun, 19 Feb 2023 13:45:56 +0000 Subject: Added a crash reporter --- src/Compositor.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/Compositor.cpp') diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 365a2c12..0b4970c2 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -2,6 +2,7 @@ #include "helpers/Splashes.hpp" #include #include "debug/HyprCtl.hpp" +#include "debug/CrashReporter.hpp" #ifdef USES_SYSTEMD #include // for sd_notify #endif @@ -16,6 +17,11 @@ int handleCritSignal(int signo, void* data) { return 0; // everything went fine } +void handleSegv(int sig) { + CrashReporter::createAndSaveCrash(); + exit(SIGSEGV); +} + CCompositor::CCompositor() { wlr_log_init(WLR_INFO, NULL); @@ -61,6 +67,7 @@ CCompositor::CCompositor() { // register crit signal handler wl_event_loop_add_signal(m_sWLEventLoop, SIGTERM, handleCritSignal, nullptr); + signal(SIGSEGV, handleSegv); //wl_event_loop_add_signal(m_sWLEventLoop, SIGINT, handleCritSignal, nullptr); m_sWLRBackend = wlr_backend_autocreate(m_sWLDisplay, &m_sWLRSession); -- cgit v1.2.3