diff --git a/src/games/chlcc/savemenu.cpp b/src/games/chlcc/savemenu.cpp index 4787dfc59..d99a36351 100644 --- a/src/games/chlcc/savemenu.cpp +++ b/src/games/chlcc/savemenu.cpp @@ -60,8 +60,8 @@ SaveMenu::SaveMenu() : UI::SaveMenu() { // Quick Save Pages initialization for (int i = 0; i < Pages; i++) { - MainItems = new Widgets::Group(this); - MainItems->WrapFocus = false; + Widgets::Group* mainItems = new Widgets::Group(this); + mainItems->WrapFocus = false; for (int j = 0; j < EntriesPerPage; j++) { SaveEntryButton* saveEntryButton = @@ -70,7 +70,7 @@ SaveMenu::SaveMenu() : UI::SaveMenu() { EntryPositions[j], i, false, LockedSymbolSprite); saveEntryButton->OnClickHandler = onClick; saveEntryButton->AddThumbnail(EmptyThumbnailSprite, ThumbnailRelativePos); - MainItems->Add(saveEntryButton); + mainItems->Add(saveEntryButton); EntryGrid[j] = saveEntryButton; } @@ -89,7 +89,7 @@ SaveMenu::SaveMenu() : UI::SaveMenu() { EntryGrid[5]->SetFocus(EntryGrid[4], FDIR_UP); EntryGrid[5]->SetFocus(EntryGrid[4], FDIR_DOWN); - QuickSavePages.push_back(MainItems); + QuickSavePages.push_back(mainItems); } // Maintaining focus across pages for (auto pageItr = QuickSavePages.begin(); pageItr != QuickSavePages.end(); @@ -120,15 +120,15 @@ SaveMenu::SaveMenu() : UI::SaveMenu() { // Full Save Pages initialization for (int i = 0; i < Pages; i++) { - MainItems = new Widgets::Group(this); - MainItems->WrapFocus = false; + Widgets::Group* mainItems = new Widgets::Group(this); + mainItems->WrapFocus = false; for (int j = 0; j < EntriesPerPage; j++) { SaveEntryButton* saveEntryButton = new SaveEntryButton( i * EntriesPerPage + j, SaveEntrySprite, EntryHighlightedSprite, SaveEntrySprite, EntryPositions[j], i, true, LockedSymbolSprite); saveEntryButton->OnClickHandler = onClick; - MainItems->Add(saveEntryButton); + mainItems->Add(saveEntryButton); EntryGrid[j] = saveEntryButton; } @@ -147,7 +147,7 @@ SaveMenu::SaveMenu() : UI::SaveMenu() { EntryGrid[5]->SetFocus(EntryGrid[4], FDIR_UP); EntryGrid[5]->SetFocus(EntryGrid[4], FDIR_DOWN); - FullSavePages.push_back(MainItems); + FullSavePages.push_back(mainItems); } // Maintaining focus across pages diff --git a/src/games/chlcc/savemenu.h b/src/games/chlcc/savemenu.h index 963f4a65a..e379c62c2 100644 --- a/src/games/chlcc/savemenu.h +++ b/src/games/chlcc/savemenu.h @@ -47,7 +47,6 @@ class SaveMenu : public UI::SaveMenu { std::vector FullSavePages; std::vector QuickSavePages; std::vector* SavePages; - Widgets::Group* MainItems; Animation TitleFade; Animation FromSystemMenuTransition; SelectPromptAnimation SelectAnimation; diff --git a/src/games/chlcc/sysmesbox.cpp b/src/games/chlcc/sysmesbox.cpp index ebdce6ba2..23834d68c 100644 --- a/src/games/chlcc/sysmesbox.cpp +++ b/src/games/chlcc/sysmesbox.cpp @@ -115,13 +115,6 @@ void SysMesBox::Show() { void SysMesBox::Hide() { FadeAnimation.StartOut(); State = Hiding; - if (LastFocusedMenu != 0) { - UI::FocusedMenu = LastFocusedMenu; - LastFocusedMenu->IsFocused = true; - } else { - UI::FocusedMenu = 0; - } - IsFocused = false; } void SysMesBox::Update(float dt) { @@ -129,6 +122,16 @@ void SysMesBox::Update(float dt) { FadeAnimation.Update(dt); if (State != Hidden) { + if (State == Hiding && FadeAnimation.IsOut()) { + if (LastFocusedMenu != 0) { + UI::FocusedMenu = LastFocusedMenu; + LastFocusedMenu->IsFocused = true; + } else { + UI::FocusedMenu = 0; + } + IsFocused = false; + } + if (FadeAnimation.IsIn()) State = Shown; if (FadeAnimation.IsOut()) State = Hidden;