X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fview.cpp;h=5959ff7b3f94f1288e2c02187a47b802da091704;hb=45cb64fff7ebf16381bb567e33c22a9ff6f78cd8;hp=08dc8828357d0e704a45dc6782411024968a7381;hpb=ae5f66281c38a76dcb7011907d7a86a99b9dd4dd;p=pulseview.git diff --git a/pv/view/view.cpp b/pv/view/view.cpp index 08dc882..5959ff7 100644 --- a/pv/view/view.cpp +++ b/pv/view/view.cpp @@ -827,15 +827,6 @@ void View::set_scroll_default() const QSize areaSize = viewport_->size(); - // Special case: when starting up and the window isn't visible yet, - // areaSize is [0, 0]. In this case we want to be called again later - if ((areaSize.height() == 0) || (!size_finalized_)) { - scroll_needs_defaults_ = true; - return; - } else { - scroll_needs_defaults_ = false; - } - const pair extents = v_extents(); const int trace_height = extents.second - extents.first; @@ -847,6 +838,11 @@ void View::set_scroll_default() else // Put the first trace at the top, letting the bottom ones overflow set_v_offset(extents.first); + + // If we're not sure whether setting the defaults worked as + // the window wasn't set up entirely yet, we want to be called + // again later to make sure + scroll_needs_defaults_ = !size_finalized_; } void View::update_layout() @@ -1196,11 +1192,11 @@ void View::signals_changed() } // Add and position the pending top levels items + int offset = v_extents().second; for (auto item : new_top_level_items) { add_child_item(item); // Position the item after the last item or at the top if there is none - int offset = v_extents().second; const pair extents = item->v_extents(); if (item->enabled())