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
1 changed files with 12 additions and 7 deletions

View File

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