]> sigrok.org Git - pulseview.git/commitdiff
Don't return valid time() for the cursor pair
authorSoeren Apel <redacted>
Wed, 3 Jul 2019 07:45:09 +0000 (09:45 +0200)
committerUwe Hermann <redacted>
Fri, 5 Jul 2019 20:49:08 +0000 (22:49 +0200)
pv/views/trace/cursorpair.cpp
pv/views/trace/ruler.cpp
pv/views/trace/timeitem.hpp

index f58db8fafd4ebf97b0221d1ea87d2911188e3508..ba65e6c19a21c8e416582799057dea2666c0cfd9 100644 (file)
@@ -86,7 +86,7 @@ void CursorPair::set_time(const pv::util::Timestamp& time)
 
 const pv::util::Timestamp CursorPair::time() const
 {
-       return (first_->time() + second_->time()) / 2.0f;
+       return 0;
 }
 
 float CursorPair::get_x() const
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;
 }
 
index c9b322c7703c1d44287e9f14232e98697f1ca24d..e0114a5aca8e36a9434c1fe3b92aec8d2f487d37 100644 (file)
@@ -49,6 +49,10 @@ public:
         */
        virtual void set_time(const pv::util::Timestamp& time) = 0;
 
+       /**
+        * Returns the time this time item is set to.
+        * @return 0 in case there is no valid time (e.g. for a cursor pair)
+        */
        virtual const pv::util::Timestamp time() const = 0;
 
        virtual float get_x() const = 0;