Don't return valid time() for the cursor pair
authorSoeren Apel <soeren@apelpie.net>
Wed, 3 Jul 2019 07:45:09 +0000 (09:45 +0200)
committerUwe Hermann <uwe@hermann-uwe.de>
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 f58db8f..ba65e6c 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 33746ed..bebf529 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 c9b322c..e0114a5 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;