소스 검색

LibGUI: Account for the row and column headers when painting a TableView

Otherwise we'd be drawing all the rows, instead of the ones in view.
Fixes #5483.
AnotherTest 4 년 전
부모
커밋
ecc8e99a6b
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      Userland/Libraries/LibGUI/TableView.cpp

+ 2 - 2
Userland/Libraries/LibGUI/TableView.cpp

@@ -73,8 +73,8 @@ void TableView::paint_event(PaintEvent& event)
     int y_offset = column_header().is_visible() ? column_header().height() : 0;
 
     bool dummy;
-    int first_visible_row = index_at_event_position(frame_inner_rect().top_left(), dummy).row();
-    int last_visible_row = index_at_event_position(frame_inner_rect().bottom_right(), dummy).row();
+    int first_visible_row = index_at_event_position(frame_inner_rect().top_left().translated(x_offset, y_offset), dummy).row();
+    int last_visible_row = index_at_event_position(frame_inner_rect().bottom_right().translated(x_offset, y_offset), dummy).row();
 
     if (first_visible_row == -1)
         first_visible_row = 0;