From 2bcaa8e89c2e76c2d14cf9f7f029e17d46c91e0f Mon Sep 17 00:00:00 2001
From: "kali kaneko (leap communications)" <kali@leap.se>
Date: Wed, 17 Jun 2020 18:54:54 +0200
Subject: [PATCH] [feat] quit signal handler

---
 gui/main.cpp | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/gui/main.cpp b/gui/main.cpp
index 5ecd4add..eca834a9 100644
--- a/gui/main.cpp
+++ b/gui/main.cpp
@@ -1,10 +1,12 @@
+#include <csignal>
+#include <string>
+
 #include <QApplication>
 #include <QSystemTrayIcon>
 #include <QTimer>
 #include <QtQml>
 #include <QQmlApplicationEngine>
 #include <QQuickWindow>
-#include <string>
 
 #include "handlers.h"
 #include "qjsonmodel.h"
@@ -32,7 +34,13 @@ std::string getEnv(std::string const& key)
     return val == NULL ? std::string() : std::string(val);
 }
 
+void signalHandler(int signum) {
+    Quit();
+    exit(0);
+}
+
 int main(int argc, char **argv) {
+    signal(SIGINT, signalHandler);
 
     bool debugQml = getEnv("DEBUG_QML_DATA") == "yes";
 
@@ -80,6 +88,7 @@ int main(int argc, char **argv) {
             QGuiApplication::quit();
     });
 
+
     /* register statusChanged callback with CGO */
     const char *stCh = "OnStatusChanged";
     GoString statusChangedEvt = {stCh, (long int)strlen(stCh)};
-- 
GitLab