FullscreenUI: Fix start-in-game-list mode using grid

This commit is contained in:
Stenzek 2025-03-23 17:02:49 +10:00
parent 3ffd20b833
commit 1fca8ae6bf
No known key found for this signature in database

View File

@ -1120,9 +1120,12 @@ void FullscreenUI::ReturnToPreviousWindow()
void FullscreenUI::ReturnToMainWindow() void FullscreenUI::ReturnToMainWindow()
{ {
ClosePauseMenu(); ClosePauseMenu();
s_state.current_main_window = GPUThread::HasGPUBackend() ? if (GPUThread::HasGPUBackend())
MainWindowType::None : s_state.current_main_window = MainWindowType::None;
(ShouldOpenToGameList() ? MainWindowType::GameList : MainWindowType::Landing); else if (ShouldOpenToGameList())
SwitchToGameList();
else
s_state.current_main_window = MainWindowType::Landing;
UpdateRunIdleState(); UpdateRunIdleState();
FixStateIfPaused(); FixStateIfPaused();
} }
@ -3377,6 +3380,12 @@ void FullscreenUI::SwitchToSettings()
PopulateGraphicsAdapterList(); PopulateGraphicsAdapterList();
PopulatePostProcessingChain(GetEditingSettingsInterface(), PostProcessing::Config::DISPLAY_CHAIN_SECTION); PopulatePostProcessingChain(GetEditingSettingsInterface(), PostProcessing::Config::DISPLAY_CHAIN_SECTION);
if (!IsEditingGameSettings(GetEditingSettingsInterface()))
{
auto lock = Host::GetSettingsLock();
PopulateGameListDirectoryCache(Host::Internal::GetBaseSettingsLayer());
}
s_state.current_main_window = MainWindowType::Settings; s_state.current_main_window = MainWindowType::Settings;
s_state.settings_page = SettingsPage::Interface; s_state.settings_page = SettingsPage::Interface;
s_state.settings_last_bg_alpha = GetBackgroundAlpha(); s_state.settings_last_bg_alpha = GetBackgroundAlpha();
@ -8317,10 +8326,6 @@ void FullscreenUI::SwitchToGameList()
} }
s_state.icon_image_map.clear(); s_state.icon_image_map.clear();
{
auto lock = Host::GetSettingsLock();
PopulateGameListDirectoryCache(Host::Internal::GetBaseSettingsLayer());
}
QueueResetFocus(FocusResetType::ViewChanged); QueueResetFocus(FocusResetType::ViewChanged);
} }