]> sigrok.org Git - pulseview.git/blobdiff - main.cpp
Mutex protected snapshot data
[pulseview.git] / main.cpp
index 56b4dd5f1a4ed12c08bf2037061a48ad9ac7264d..98fc9ad5949c3b7d79bc4f0e6edf52d1d4f9eb3e 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -48,6 +48,8 @@ void usage()
 int main(int argc, char *argv[])
 {
        int ret = 0;
+       struct sr_context *sr_ctx = NULL;
+
        QApplication a(argc, argv);
 
        // Set some application metadata
@@ -82,7 +84,7 @@ int main(int argc, char *argv[])
        }
 
        // Initialise libsigrok
-       if (sr_init() != SR_OK) {
+       if (sr_init(&sr_ctx) != SR_OK) {
                qDebug() << "ERROR: libsigrok init failed.";
                return 1;
        }
@@ -96,7 +98,7 @@ int main(int argc, char *argv[])
                // Initialize all libsigrok drivers
                sr_dev_driver **const drivers = sr_driver_list();
                for (sr_dev_driver **driver = drivers; *driver; driver++) {
-                       if (sr_driver_init(*driver) != SR_OK) {
+                       if (sr_driver_init(sr_ctx, *driver) != SR_OK) {
                                qDebug("Failed to initialize driver %s",
                                        (*driver)->name);
                                ret = 1;
@@ -120,7 +122,8 @@ int main(int argc, char *argv[])
                qDebug() << "ERROR: libsigrokdecode init failed.";
        }
 
-       sr_exit();
+       if (sr_ctx)
+               sr_exit(sr_ctx);
 
        return ret;
 }