]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/ruler.cpp
Don't return valid time() for the cursor pair
[pulseview.git] / pv / views / trace / ruler.cpp
index 33746ed6f23814c888212b06c687afc071e3f7e2..bebf529147da67f5bc4d591255bce144d5d1674b 100644 (file)
@@ -194,10 +194,12 @@ void Ruler::item_hover(const shared_ptr<ViewItem> &item, QPoint pos)
 
 shared_ptr<TimeItem> Ruler::get_reference_item() const
 {
+       // Note: time() returns 0 if item returns no valid time
+
        if (mouse_modifiers_ & Qt::ShiftModifier)
                return nullptr;
 
-       if (hover_item_)
+       if (hover_item_ && (hover_item_->time() != 0))
                return hover_item_;
 
        shared_ptr<TimeItem> ref_item;
@@ -215,6 +217,9 @@ shared_ptr<TimeItem> Ruler::get_reference_item() const
                }
        }
 
+       if (ref_item && (ref_item->time() == 0))
+               ref_item.reset();
+
        return ref_item;
 }