diff --git a/rpcs3/rpcs3qt/game_list_delegate.cpp b/rpcs3/rpcs3qt/game_list_delegate.cpp index 17b72d316f..0ee28d53d4 100644 --- a/rpcs3/rpcs3qt/game_list_delegate.cpp +++ b/rpcs3/rpcs3qt/game_list_delegate.cpp @@ -2,6 +2,8 @@ #include "movie_item.h" #include "gui_settings.h" +#include + game_list_delegate::game_list_delegate(QObject* parent) : table_item_delegate(parent, true) {} @@ -15,8 +17,12 @@ void game_list_delegate::paint(QPainter* painter, const QStyleOptionViewItem& op { if (const QTableWidget* table = static_cast(parent())) { + // We need to remove the headers from our calculation. The visualItemRect starts at 0,0 while the visibleRegion doesn't. + QRegion visible_region = table->visibleRegion(); + visible_region.translate(-table->verticalHeader()->width(), -table->horizontalHeader()->height()); + if (const QTableWidgetItem* current_item = table->item(index.row(), index.column()); - current_item && table->visibleRegion().intersects(table->visualItemRect(current_item))) + current_item && visible_region.intersects(table->visualItemRect(current_item))) { if (movie_item* item = static_cast(table->item(index.row(), gui::game_list_columns::column_icon))) {