diff --git a/rpcs3/rpcs3qt/game_list.cpp b/rpcs3/rpcs3qt/game_list.cpp index 77f015f7cf..97e3e9e1db 100644 --- a/rpcs3/rpcs3qt/game_list.cpp +++ b/rpcs3/rpcs3qt/game_list.cpp @@ -8,9 +8,9 @@ game_list::game_list() : QTableWidget(), game_list_base() { - m_icon_ready_callback = [this](const game_info& game) + m_icon_ready_callback = [this](const movie_item_base* item) { - Q_EMIT IconReady(game); + Q_EMIT IconReady(item); }; } diff --git a/rpcs3/rpcs3qt/game_list.h b/rpcs3/rpcs3qt/game_list.h index 3007ee62d7..c49f5b5aa1 100644 --- a/rpcs3/rpcs3qt/game_list.h +++ b/rpcs3/rpcs3qt/game_list.h @@ -36,7 +36,7 @@ public Q_SLOTS: Q_SIGNALS: void FocusToSearchBar(); - void IconReady(const game_info& game); + void IconReady(const movie_item_base* item); protected: movie_item* m_last_hover_item = nullptr; diff --git a/rpcs3/rpcs3qt/game_list_base.cpp b/rpcs3/rpcs3qt/game_list_base.cpp index a29388480b..631bf4c066 100644 --- a/rpcs3/rpcs3qt/game_list_base.cpp +++ b/rpcs3/rpcs3qt/game_list_base.cpp @@ -79,7 +79,7 @@ void game_list_base::IconLoadFunction(game_info game, qreal device_pixel_ratio, if (!cancel || !cancel->load()) { if (m_icon_ready_callback) - m_icon_ready_callback(game); + m_icon_ready_callback(game->item); } } diff --git a/rpcs3/rpcs3qt/game_list_base.h b/rpcs3/rpcs3qt/game_list_base.h index 66012d9e34..ce6df55825 100644 --- a/rpcs3/rpcs3qt/game_list_base.h +++ b/rpcs3/rpcs3qt/game_list_base.h @@ -32,7 +32,7 @@ protected: QPixmap PaintedPixmap(const QPixmap& icon, qreal device_pixel_ratio, bool paint_config_icon = false, bool paint_pad_config_icon = false, const QColor& compatibility_color = {}) const; QColor GetGridCompatibilityColor(const QString& string) const; - std::function m_icon_ready_callback{}; + std::function m_icon_ready_callback{}; bool m_draw_compat_status_to_grid{}; bool m_is_list_layout{}; QSize m_icon_size{}; diff --git a/rpcs3/rpcs3qt/game_list_grid.cpp b/rpcs3/rpcs3qt/game_list_grid.cpp index fa71407bd1..30b8cd0745 100644 --- a/rpcs3/rpcs3qt/game_list_grid.cpp +++ b/rpcs3/rpcs3qt/game_list_grid.cpp @@ -14,15 +14,14 @@ game_list_grid::game_list_grid() setObjectName("game_list_grid"); setContextMenuPolicy(Qt::CustomContextMenu); - m_icon_ready_callback = [this](const game_info& game) + m_icon_ready_callback = [this](const movie_item_base* item) { - Q_EMIT IconReady(game); + Q_EMIT IconReady(item); }; - connect(this, &game_list_grid::IconReady, this, [this](const game_info& game) + connect(this, &game_list_grid::IconReady, this, [this](const movie_item_base* item) { - if (!game || !game->item) return; - game->item->call_icon_func(); + if (item) item->call_icon_func(); }, Qt::QueuedConnection); // The default 'AutoConnection' doesn't seem to work in this specific case... connect(this, &flow_widget::ItemSelectionChanged, this, [this](int index) diff --git a/rpcs3/rpcs3qt/game_list_grid.h b/rpcs3/rpcs3qt/game_list_grid.h index 730458b625..aaa1e267d3 100644 --- a/rpcs3/rpcs3qt/game_list_grid.h +++ b/rpcs3/rpcs3qt/game_list_grid.h @@ -33,5 +33,5 @@ Q_SIGNALS: void FocusToSearchBar(); void ItemDoubleClicked(const game_info& game); void ItemSelectionChanged(const game_info& game); - void IconReady(const game_info& game); + void IconReady(const movie_item_base* item); }; diff --git a/rpcs3/rpcs3qt/game_list_table.cpp b/rpcs3/rpcs3qt/game_list_table.cpp index a1b0f06b86..3aed99dcf9 100644 --- a/rpcs3/rpcs3qt/game_list_table.cpp +++ b/rpcs3/rpcs3qt/game_list_table.cpp @@ -52,10 +52,9 @@ game_list_table::game_list_table(game_list_frame* frame, std::shared_ptritem) return; - game->item->call_icon_func(); + if (item) item->call_icon_func(); }); } diff --git a/rpcs3/rpcs3qt/savestate_manager_dialog.h b/rpcs3/rpcs3qt/savestate_manager_dialog.h index 9c39f75765..950fede559 100644 --- a/rpcs3/rpcs3qt/savestate_manager_dialog.h +++ b/rpcs3/rpcs3qt/savestate_manager_dialog.h @@ -1,6 +1,6 @@ #pragma once -#include "game_list_base.h" +#include "gui_game_info.h" #include #include