X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=main.cpp;h=ba8e787069be74066f510c3e1ab28a3459a8401a;hp=a7ab89fbf7422ada41d7050ac57715ce33f7f05d;hb=94fe58efe521284904f7cddf2c8f833c2b8d48e8;hpb=31e6731d976cb2b398c92763a9d3507437b8a826 diff --git a/main.cpp b/main.cpp index a7ab89fb..ba8e7870 100644 --- a/main.cpp +++ b/main.cpp @@ -34,6 +34,9 @@ extern "C" { #include "config.h" +// Global pointer to our QApplication +QApplication *g_app = NULL; + void usage() { fprintf(stderr, @@ -47,15 +50,16 @@ void usage() } /* - * SIGINT handler (likely recieved Ctrl-C from terminal) + * SIGINT handler (likely received Ctrl-C from terminal) */ -void sigint(int param) +void sigint_handler(int param) { - (void) param; - - qDebug("pv: Recieved SIGINT"); - - /* TODO: Handle SIGINT */ + (void)param; + + qDebug("Received SIGINT."); + + if (g_app) + g_app->quit(); } int main(int argc, char *argv[]) @@ -64,9 +68,11 @@ int main(int argc, char *argv[]) struct sr_context *sr_ctx = NULL; // Register a SIGINT handler - signal (SIGINT, sigint); + signal(SIGINT, sigint_handler); QApplication a(argc, argv); + // Now we have an application to populate our global pointer + g_app = &a; // Set some application metadata QApplication::setApplicationVersion(PV_VERSION_STRING);