]> sigrok.org Git - pulseview.git/blobdiff - pv/logging.cpp
Segments: Fix iterator access to underlying value
[pulseview.git] / pv / logging.cpp
index b04bd9480ac717b82f34674b53d6c50edc9d3ea0..29d023c04ad577957aa3a1dbacc52fa0a47acb01 100644 (file)
@@ -52,13 +52,15 @@ static void *prev_srd_log_cb_data;
 Logging::~Logging()
 {
        qInstallMessageHandler(nullptr);
-       sr_log_callback_set(prev_sr_log_cb, prev_sr_log_cb_data);
-       prev_sr_log_cb = NULL;
-       prev_sr_log_cb_data = NULL;
+       if (prev_sr_log_cb)
+               sr_log_callback_set(prev_sr_log_cb, prev_sr_log_cb_data);
+       prev_sr_log_cb = nullptr;
+       prev_sr_log_cb_data = nullptr;
 #ifdef ENABLE_DECODE
-       srd_log_callback_set(prev_srd_log_cb, prev_srd_log_cb_data);
-       prev_srd_log_cb = NULL;
-       prev_srd_log_cb_data = NULL;
+       if (prev_srd_log_cb)
+               srd_log_callback_set(prev_srd_log_cb, prev_srd_log_cb_data);
+       prev_srd_log_cb = nullptr;
+       prev_srd_log_cb_data = nullptr;
 #endif
 
        GlobalSettings::remove_change_handler(this);