X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fview%2Fviewport.cpp;h=43da472890120e4eb01acfb59fdd14db0d716cc0;hb=bcaa184ed439d801cb1a56b877bb2763246150da;hp=c987c3683164e598d9c1f94e8b0a88560ad33920;hpb=eae6e30af53f6b3e42dc5be212c82870078276b0;p=pulseview.git diff --git a/pv/view/viewport.cpp b/pv/view/viewport.cpp index c987c368..43da4728 100644 --- a/pv/view/viewport.cpp +++ b/pv/view/viewport.cpp @@ -20,6 +20,7 @@ #include #include +#include #include "view.h" #include "viewport.h" @@ -33,6 +34,7 @@ using std::abs; using std::max; using std::min; using std::shared_ptr; +using std::stable_sort; using std::vector; namespace pv { @@ -75,7 +77,10 @@ int Viewport::get_total_height() const void Viewport::paintEvent(QPaintEvent*) { - const vector< shared_ptr > row_items(_view.child_items()); + vector< shared_ptr > row_items(_view.child_items()); + stable_sort(row_items.begin(), row_items.end(), + [](const shared_ptr &a, const shared_ptr &b) { + return a->v_offset() < b->v_offset(); }); QPainter p(this); p.setRenderHint(QPainter::Antialiasing);