From 5d9788388c9cf176a331d1fddc708420d88c4ce5 Mon Sep 17 00:00:00 2001 From: kali Date: Tue, 14 Dec 2021 18:18:16 +0100 Subject: [pkg] bugfixes windows --- gui/main.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'gui/main.cpp') diff --git a/gui/main.cpp b/gui/main.cpp index 976f2cd..fe96caa 100644 --- a/gui/main.cpp +++ b/gui/main.cpp @@ -46,13 +46,14 @@ QString getAppName(QJsonValue info, QString provider) { return "BitmaskVPN"; } -void catchUnixSignals(std::initializer_list quitSignals) { - auto handler = [](int sig) -> void { - printf("\nCatched signal(%d): quitting\n", sig); - Quit(); - QApplication::quit(); - }; +auto handler = [](int sig) -> void { + printf("\nCatched signal(%d): quitting\n", sig); + Quit(); + QApplication::quit(); +}; +#ifndef OS_WIN +void catchUnixSignals(std::initializer_list quitSignals) { sigset_t blocking_mask; sigemptyset(&blocking_mask); for (auto sig : quitSignals) @@ -66,6 +67,7 @@ void catchUnixSignals(std::initializer_list quitSignals) { for (auto sig : quitSignals) sigaction(sig, &sa, nullptr); } +#endif int main(int argc, char **argv) { Backend backend; @@ -80,7 +82,12 @@ int main(int argc, char **argv) { app.setQuitOnLastWindowClosed(false); app.setAttribute(Qt::AA_UseHighDpiPixmaps); +#ifdef OS_WIN + signal(SIGINT, handler); + signal(SIGTERM, handler); +#else catchUnixSignals({SIGINT, SIGTERM}); +#endif /* load providers json */ QFile providerJson (":/providers.json"); -- cgit v1.2.3