From f62c4c5e05022d5f5129c368d0db84ee2457c3cb Mon Sep 17 00:00:00 2001 From: emb <> Date: Mon, 27 Jul 2015 21:49:08 -0500 Subject: [PATCH] Fixed crash on launch close. Fixed launch and rom search paths for merged collections .Removed verbose debug statement. --- RetroFE/Source/Collection/CollectionInfoBuilder.cpp | 8 ++++++++ RetroFE/Source/Control/UserInput.cpp | 5 ++++- RetroFE/Source/Execute/Launcher.cpp | 8 ++++++++ RetroFE/Source/Graphics/Component/ReloadableMedia.cpp | 1 - 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/RetroFE/Source/Collection/CollectionInfoBuilder.cpp b/RetroFE/Source/Collection/CollectionInfoBuilder.cpp index 39e8d13..aa5a6fc 100644 --- a/RetroFE/Source/Collection/CollectionInfoBuilder.cpp +++ b/RetroFE/Source/Collection/CollectionInfoBuilder.cpp @@ -169,12 +169,20 @@ CollectionInfo *CollectionInfoBuilder::buildCollection(std::string name) std::string extensions; std::string metadataType = name; std::string metadataPath; + std::string mergedCollectionName; + // temporarily set currentCollection in case this is a subcollection + conf_.getProperty("currentCollection", mergedCollectionName); + conf_.setProperty("currentCollection", name); conf_.getCollectionAbsolutePath(name, listItemsPath); + (void)conf_.getProperty(extensionsKey, extensions); (void)conf_.getProperty(metadataTypeKey, metadataType); (void)conf_.getProperty(metadataPathKey, metadataPath); + // restore old collection name + conf_.setProperty("currentCollection", mergedCollectionName); + if(!conf_.getProperty(launcherKey, launcherName)) { std::stringstream ss; diff --git a/RetroFE/Source/Control/UserInput.cpp b/RetroFE/Source/Control/UserInput.cpp index 7574252..4449fcc 100644 --- a/RetroFE/Source/Control/UserInput.cpp +++ b/RetroFE/Source/Control/UserInput.cpp @@ -209,7 +209,10 @@ void UserInput::resetStates() { for(unsigned int i = 0; i < KeyCodeMax; ++i) { - keyHandlers_[i]->reset(); + if(keyHandlers_[i]) + { + keyHandlers_[i]->reset(); + } } } bool UserInput::update(SDL_Event &e) diff --git a/RetroFE/Source/Execute/Launcher.cpp b/RetroFE/Source/Execute/Launcher.cpp index d708c84..ad92095 100644 --- a/RetroFE/Source/Execute/Launcher.cpp +++ b/RetroFE/Source/Execute/Launcher.cpp @@ -272,11 +272,19 @@ bool Launcher::extensions(std::string &extensions, std::string collection) bool Launcher::collectionDirectory(std::string &directory, std::string collection) { std::string itemsPathValue; + std::string mergedCollectionName; + + // temporarily set currentCollection in case this is a subcollection + config_.getProperty("currentCollection", mergedCollectionName); + config_.setProperty("currentCollection", collection); // find the items path folder (i.e. ROM path) config_.getCollectionAbsolutePath(collection, itemsPathValue); directory += itemsPathValue + Utils::pathSeparator; + // restore old collection name + config_.setProperty("currentCollection", mergedCollectionName); + return true; } diff --git a/RetroFE/Source/Graphics/Component/ReloadableMedia.cpp b/RetroFE/Source/Graphics/Component/ReloadableMedia.cpp index fb61a5e..fd855dc 100644 --- a/RetroFE/Source/Graphics/Component/ReloadableMedia.cpp +++ b/RetroFE/Source/Graphics/Component/ReloadableMedia.cpp @@ -340,7 +340,6 @@ Component *ReloadableMedia::findComponent(std::string collection, std::string ty // check the system folder config_.getMediaPropertyAbsolutePath(collection, type, systemMode, imagePath); -std::cout << "searching path: " << imagePath << " =>" << basename << std::endl; if(type == "video") {