/*
* 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
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);
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.";
*/
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;
}