]> sigrok.org Git - sigrok-qt.git/commitdiff
Adapt to sr_init()/sr_exit() API changes.
authorUwe Hermann <redacted>
Wed, 24 Oct 2012 15:16:03 +0000 (17:16 +0200)
committerUwe Hermann <redacted>
Wed, 24 Oct 2012 15:16:03 +0000 (17:16 +0200)
Also, move shutdown code to main.cpp.

main.cpp
mainwindow.cpp

index 4a2daf2a3e9ff706de9071fe8126c4b01eb58b5c..d100617319250a2f1309a4b1f879b2bef5842747 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -1,7 +1,7 @@
 /*
  * This file is part of the sigrok project.
  *
- * Copyright (C) 2010 Uwe Hermann <uwe@hermann-uwe.de>
+ * Copyright (C) 2010-2012 Uwe Hermann <uwe@hermann-uwe.de>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -39,6 +39,8 @@ int main(int argc, char *argv[])
        QString locale = QLocale::system().name();
        QApplication a(argc, argv);
        QTranslator translator;
+       struct sr_context *sr_ctx;
+       int ret;
 
        translator.load(QString("locale/sigrok-qt_") + locale);
        a.installTranslator(&translator);
@@ -52,8 +54,9 @@ int main(int argc, char *argv[])
        qDebug() << "The Qt GUI is not yet usable, aborting.";
        // return 1;
 
-       if (sr_init() != SR_OK) {
-               qDebug() << "ERROR: libsigrok init failed.";
+       if ((ret = sr_init(&sr_ctx)) != SR_OK) {
+               qDebug() << "ERROR: libsigrok init failed (%s): %s."
+                        << sr_strerror_name(ret), sr_strerror(ret);
                return 1;
        }
        qDebug() << "libsigrok initialized successfully.";
@@ -72,5 +75,21 @@ int main(int argc, char *argv[])
         */
        srd_decoder_load_all();
 
-       return a.exec();
+       /* Run the application. */
+       ret = a.exec();
+
+       /* Shutdown libsigrok. */
+       if ((ret = sr_exit(sr_ctx)) != SR_OK) {
+               qDebug() << "ERROR: libsigrok shutdown failed (%s): %s."
+                        << sr_strerror_name(ret), sr_strerror(ret);
+       }
+       qDebug() << "libsigrok shutdown was successful.";
+
+       /* Shutdown libsigrokdecode. */
+       if ((ret = srd_exit()) != SRD_OK) {
+               qDebug() << "ERROR: libsigrokdecode shutdown failed: %d.";
+       }
+       qDebug() << "libsigrokdecode shutdown was successful.";
+
+       return ret;
 }
index 1850d944be8d88e1a4a30f99e35341c51b965f28..59b1f7b46d1ba5c31ce32c33173f0559914f45dc 100644 (file)
@@ -115,9 +115,6 @@ MainWindow::MainWindow(QWidget *parent)
 
 MainWindow::~MainWindow()
 {
-       srd_exit();
-       sr_exit();
-
        delete ui;
 }