Fixed an issue where the screen would go partly black during slide transitions.

This commit is contained in:
Leon Styhre 2021-01-01 22:37:21 +01:00
parent 287c6ea36e
commit c431e5a233
5 changed files with 18 additions and 12 deletions

View file

@ -85,7 +85,7 @@ GuiCollectionSystemsOptions::GuiCollectionSystemsOptions(
setNeedsReloading(); setNeedsReloading();
setNeedsCollectionsUpdate(); setNeedsCollectionsUpdate();
if (!mAddedCustomCollection) if (!mAddedCustomCollection)
setNeedsGoToSystemView(SystemData::sSystemVector.front()); setNeedsGoToSystem(SystemData::sSystemVector.front());
} }
}); });
@ -139,7 +139,7 @@ GuiCollectionSystemsOptions::GuiCollectionSystemsOptions(
setNeedsReloading(); setNeedsReloading();
setNeedsCollectionsUpdate(); setNeedsCollectionsUpdate();
if (!mAddedCustomCollection) if (!mAddedCustomCollection)
setNeedsGoToSystemView(SystemData::sSystemVector.front()); setNeedsGoToSystem(SystemData::sSystemVector.front());
} }
} }
}); });
@ -259,7 +259,7 @@ GuiCollectionSystemsOptions::GuiCollectionSystemsOptions(
Settings::getInstance()->setString("CollectionSystemsCustom", Settings::getInstance()->setString("CollectionSystemsCustom",
collectionsConfigEntry); collectionsConfigEntry);
setNeedsSaving(); setNeedsSaving();
setNeedsGoToSystemView(SystemData::sSystemVector.front()); setNeedsGoToSystem(SystemData::sSystemVector.front());
} }
CollectionSystemsManager::get()->deleteCustomCollection(name); CollectionSystemsManager::get()->deleteCustomCollection(name);
return true; return true;
@ -322,7 +322,7 @@ GuiCollectionSystemsOptions::GuiCollectionSystemsOptions(
setNeedsSaving(); setNeedsSaving();
setNeedsCollectionsUpdate(); setNeedsCollectionsUpdate();
setNeedsReloading(); setNeedsReloading();
setNeedsGoToSystemView(SystemData::sSystemVector.front()); setNeedsGoToSystem(SystemData::sSystemVector.front());
} }
}); });
@ -356,7 +356,7 @@ void GuiCollectionSystemsOptions::createCustomCollection(std::string inName)
collection_systems_custom->add(collectionName, collectionName, true); collection_systems_custom->add(collectionName, collectionName, true);
mAddedCustomCollection = true; mAddedCustomCollection = true;
setNeedsGoToSystemView(newCollection); setNeedsGoToSystem(newCollection);
Window* window = mWindow; Window* window = mWindow;
while (window->peekGui() && window->peekGui() != ViewController::get()) while (window->peekGui() && window->peekGui() != ViewController::get())

View file

@ -30,7 +30,7 @@ GuiSettings::GuiSettings(
mNeedsSortingCollections(false), mNeedsSortingCollections(false),
mGoToSystem(nullptr), mGoToSystem(nullptr),
mNeedsGoToStart(false), mNeedsGoToStart(false),
mNeedsGoToSystemView(false) mNeedsGoToSystem(false)
{ {
addChild(&mMenu); addChild(&mMenu);
mMenu.addButton("BACK", "back", [this] { delete this; }); mMenu.addButton("BACK", "back", [this] { delete this; });
@ -79,11 +79,11 @@ void GuiSettings::save()
if (mNeedsGoToStart) if (mNeedsGoToStart)
ViewController::get()->goToStart(); ViewController::get()->goToStart();
if (mNeedsGoToSystemView) if (mNeedsGoToSystem)
ViewController::get()->goToSystemView(mGoToSystem, false); ViewController::get()->goToSystem(mGoToSystem, false);
if (mNeedsSaving || mNeedsCollectionsUpdate || mNeedsReloading || mNeedsSorting || if (mNeedsSaving || mNeedsCollectionsUpdate || mNeedsReloading || mNeedsSorting ||
mNeedsGoToStart || mNeedsGoToSystemView) mNeedsGoToStart || mNeedsGoToSystem)
mWindow->invalidateCachedBackground(); mWindow->invalidateCachedBackground();
} }

View file

@ -39,8 +39,8 @@ public:
void setNeedsSorting() { mNeedsSorting = true; }; void setNeedsSorting() { mNeedsSorting = true; };
void setNeedsSortingCollections() { mNeedsSortingCollections = true; }; void setNeedsSortingCollections() { mNeedsSortingCollections = true; };
void setNeedsGoToStart() { mNeedsGoToStart = true; }; void setNeedsGoToStart() { mNeedsGoToStart = true; };
void setNeedsGoToSystemView(SystemData* goToSystem) void setNeedsGoToSystem(SystemData* goToSystem)
{ mNeedsGoToSystemView = true; mGoToSystem = goToSystem; }; { mNeedsGoToSystem = true; mGoToSystem = goToSystem; };
bool input(InputConfig* config, Input input) override; bool input(InputConfig* config, Input input) override;
std::vector<HelpPrompt> getHelpPrompts() override; std::vector<HelpPrompt> getHelpPrompts() override;
@ -55,7 +55,7 @@ private:
bool mNeedsSorting; bool mNeedsSorting;
bool mNeedsSortingCollections; bool mNeedsSortingCollections;
bool mNeedsGoToStart; bool mNeedsGoToStart;
bool mNeedsGoToSystemView; bool mNeedsGoToSystem;
SystemData* mGoToSystem; SystemData* mGoToSystem;
}; };

View file

@ -261,6 +261,11 @@ void ViewController::goToSystemView(SystemData* system, bool playTransition)
playViewTransition(true); playViewTransition(true);
} }
void ViewController::goToSystem(SystemData* system, bool animate)
{
mSystemListView->goToSystem(system, animate);
}
void ViewController::goToNextGameList() void ViewController::goToNextGameList()
{ {
assert(mState.viewing == GAME_LIST); assert(mState.viewing == GAME_LIST);

View file

@ -50,6 +50,7 @@ public:
void goToPrevGameList(); void goToPrevGameList();
void goToGameList(SystemData* system); void goToGameList(SystemData* system);
void goToSystemView(SystemData* system, bool playTransition); void goToSystemView(SystemData* system, bool playTransition);
void goToSystem(SystemData* system, bool animate);
void goToStart(); void goToStart();
void ReloadAndGoToStart(); void ReloadAndGoToStart();