]> sigrok.org Git - pulseview.git/blobdiff - main.cpp
Session: Fix issue #67 by improving error handling
[pulseview.git] / main.cpp
index 793f4ce12d77dd83e6b7f976a1a70de29216caf1..0867187c57b23815dc6bb0de32efbe16001233cf 100644 (file)
--- a/main.cpp
+++ b/main.cpp
 
 #ifdef _WIN32
 #include <QtPlugin>
+#ifdef QT_STATIC
 Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
 Q_IMPORT_PLUGIN(QSvgPlugin)
 #endif
+#endif
 
 using std::exception;
 using std::ifstream;
@@ -277,7 +279,8 @@ int main(int argc, char *argv[])
 
        qRegisterMetaType<uint64_t>("uint64_t");
        qRegisterMetaType<pv::util::Timestamp>("util::Timestamp");
-       qRegisterMetaType<pv::data::Segment>("data::Segment");
+       qRegisterMetaType<SharedPtrToSegment>("SharedPtrToSegment");
+       qRegisterMetaType<shared_ptr<pv::data::SignalBase>>("shared_ptr<SignalBase>");
 
        // Prepare the global settings since logging needs them early on
        pv::GlobalSettings settings;
@@ -329,7 +332,7 @@ int main(int argc, char *argv[])
                // Create the device manager, initialise the drivers
                pv::DeviceManager device_manager(context, driver, do_scan);
 
-               a.collect_version_info(context);
+               a.collect_version_info(device_manager);
                if (show_version) {
                        a.print_version_info();
                } else {
@@ -349,10 +352,9 @@ int main(int argc, char *argv[])
 #ifdef ENABLE_SIGNALS
                        if (SignalHandler::prepare_signals()) {
                                SignalHandler *const handler = new SignalHandler(&w);
-                               QObject::connect(handler, SIGNAL(int_received()),
-                                       &w, SLOT(close()));
-                               QObject::connect(handler, SIGNAL(term_received()),
-                                       &w, SLOT(close()));
+                               QObject::connect(handler, SIGNAL(int_received()), &w, SLOT(close()));
+                               QObject::connect(handler, SIGNAL(term_received()), &w, SLOT(close()));
+                               QObject::connect(handler, SIGNAL(usr1_received()), &w, SLOT(on_run_stop_clicked()));
                        } else
                                qWarning() << "Could not prepare signal handler.";
 #endif