X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fview.cpp;h=a7dcc20bf94194c8011e12e64ae5e027344ef4d0;hp=5649bdc849e5609dea698a21bce41b8d60102e2e;hb=219b3ab99786d31cfbf010b931293c57daedacc9;hpb=8c09273b13a10399e7f7d18dd446c2d13813e239 diff --git a/pv/view/view.cpp b/pv/view/view.cpp index 5649bdc8..a7dcc20b 100644 --- a/pv/view/view.cpp +++ b/pv/view/view.cpp @@ -527,13 +527,6 @@ const QPoint& View::hover_point() const return hover_point_; } -void View::update_viewport() -{ - assert(viewport_); - viewport_->update(); - header_->update(); -} - void View::restack_all_trace_tree_items() { // Make a list of owners that is sorted from deepest first @@ -744,19 +737,6 @@ void View::update_layout() update_scroll(); } -void View::paint_label(QPainter &p, const QRect &rect, bool hover) -{ - (void)p; - (void)rect; - (void)hover; -} - -QRectF View::label_rect(const QRectF &rect) -{ - (void)rect; - return QRectF(); -} - TraceTreeItemOwner* View::find_prevalent_trace_group( const shared_ptr &group, const unordered_map, shared_ptr > @@ -959,8 +939,8 @@ void View::signals_changed() if (!session_.device()) { reset_scroll(); } else { - assert(sr_dev); sr_dev = session_.device()->device(); + assert(sr_dev); channels = sr_dev->channels(); } @@ -1038,13 +1018,15 @@ void View::signals_changed() offset += extents.second; } - // Assign proper vertical offsets to each channel in the group - new_trace_group->restack_items(); + if (new_trace_group) { + // Assign proper vertical offsets to each channel in the group + new_trace_group->restack_items(); - // If this is a new group, enqueue it in the new top level - // items list - if (!new_traces_in_group.empty() && new_trace_group) - new_top_level_items.push_back(new_trace_group); + // If this is a new group, enqueue it in the new top level + // items list + if (!new_traces_in_group.empty()) + new_top_level_items.push_back(new_trace_group); + } } // Enqueue the remaining logic channels in a group @@ -1085,8 +1067,10 @@ void View::signals_changed() // Remove any empty trace groups for (shared_ptr group : list_by_type()) - if (group->child_items().size() == 0) + if (group->child_items().size() == 0) { remove_child_item(group); + group.reset(); + } // Add and position the pending top levels items for (auto item : new_top_level_items) {