diff --git a/LibGUI/GTableView.cpp b/LibGUI/GTableView.cpp index 66047c9801..97e1e8a30f 100644 --- a/LibGUI/GTableView.cpp +++ b/LibGUI/GTableView.cpp @@ -32,12 +32,18 @@ void GTableView::set_model(OwnPtr&& model) void GTableView::resize_event(GResizeEvent& event) { m_scrollbar->set_relative_rect(event.size().width() - m_scrollbar->preferred_size().width(), 0, m_scrollbar->preferred_size().width(), event.size().height()); + update_scrollbar_range(); +} + +void GTableView::update_scrollbar_range() +{ + int excess_height = max(0, (item_count() * item_height()) - height()); + m_scrollbar->set_range(0, excess_height); } void GTableView::did_update_model() { - int excess_height = max(0, (item_count() * item_height()) - height()); - m_scrollbar->set_range(0, excess_height); + update_scrollbar_range(); update(); } diff --git a/LibGUI/GTableView.h b/LibGUI/GTableView.h index 674014ce97..a134d5541c 100644 --- a/LibGUI/GTableView.h +++ b/LibGUI/GTableView.h @@ -26,6 +26,7 @@ private: virtual void resize_event(GResizeEvent&) override; virtual void mousedown_event(GMouseEvent&) override; + void update_scrollbar_range(); int item_count() const; Rect row_rect(int item_index) const;