Fix #1270 by replacing insignificant characters before comparing
[pulseview.git] / pv / data / decodesignal.cpp
index 4705b104542cef6c9875d8fa7e1922b6b6cae0c8..9b40540c7032b058f988f8cb8d903d6763b3d97f 100644 (file)
@@ -151,8 +151,7 @@ void DecodeSignal::reset_decode(bool shutting_down)
                logic_mux_thread_.join();
        }
 
-       decode_pause_mutex_.unlock();
-       decode_paused_ = false;
+       resume_decode();  // Make sure the decode thread isn't blocked by pausing
 
        class_rows_.clear();
        current_segment_id_ = 0;
@@ -304,14 +303,16 @@ void DecodeSignal::auto_assign_signals(const shared_ptr<Decoder> dec)
                if (ch.assigned_signal)
                        continue;
 
-               const QString ch_name = ch.name.toLower();
+               QString ch_name = ch.name.toLower();
+               ch_name = ch_name.replace(QRegExp("[-_.]"), " ");
 
                shared_ptr<data::SignalBase> match;
                for (shared_ptr<data::SignalBase> s : session_.signalbases()) {
                        if (!s->enabled())
                                continue;
 
-                       const QString s_name = s->name().toLower();
+                       QString s_name = s->name().toLower();
+                       s_name = s_name.replace(QRegExp("[-_.]"), " ");
 
                        if (s->logic_data() &&
                                ((ch_name.contains(s_name)) || (s_name.contains(ch_name)))) {