diff --git a/src/core/fullscreen_ui.cpp b/src/core/fullscreen_ui.cpp index 10f02e8fc..3d0610328 100644 --- a/src/core/fullscreen_ui.cpp +++ b/src/core/fullscreen_ui.cpp @@ -986,10 +986,15 @@ void FullscreenUI::Render() void FullscreenUI::InvalidateCoverCache() { - if (!IsInitialized()) + if (!GPUThread::IsFullscreenUIRequested()) return; - Host::RunOnCPUThread([]() { s_state.cover_image_map.clear(); }); + GPUThread::RunOnThread([]() { + if (!IsInitialized()) + return; + + s_state.cover_image_map.clear(); + }); } void FullscreenUI::ReturnToPreviousWindow() diff --git a/src/duckstation-qt/gamelistwidget.cpp b/src/duckstation-qt/gamelistwidget.cpp index aca21d9c1..ba00ee919 100644 --- a/src/duckstation-qt/gamelistwidget.cpp +++ b/src/duckstation-qt/gamelistwidget.cpp @@ -8,6 +8,7 @@ #include "qtutils.h" #include "settingswindow.h" +#include "core/fullscreen_ui.h" #include "core/game_list.h" #include "core/host.h" #include "core/settings.h" @@ -476,6 +477,7 @@ void GameListWidget::gridIntScale(int int_scale) void GameListWidget::refreshGridCovers() { m_model->refreshCovers(); + Host::RunOnCPUThread(&FullscreenUI::InvalidateCoverCache); } void GameListWidget::focusSearchWidget()