Merge pull request #4576 from shenweip/patch-7

Ignore the difference between "\" and "/" in "recent" and "remove from recent".
This commit is contained in:
Henrik Rydgård 2013-11-23 07:45:39 -08:00
commit 7e736172db
2 changed files with 15 additions and 3 deletions

View file

@ -554,7 +554,11 @@ void Config::Save() {
void Config::AddRecent(const std::string &file) {
for (auto str = recentIsos.begin(); str != recentIsos.end(); str++) {
if (*str == file) {
#ifdef _WIN32
if (!strcmpIgnore(*str, file, "\\", "/")) {
#else
if (!strcmp(*str, file)) {
#endif
recentIsos.erase(str);
recentIsos.insert(recentIsos.begin(), file);
if ((int)recentIsos.size() > iMaxRecent)

View file

@ -211,7 +211,11 @@ UI::EventReturn GameScreen::OnCreateShortcut(UI::EventParams &e) {
bool GameScreen::isRecentGame(std::string gamePath) {
for (auto it = g_Config.recentIsos.begin(); it != g_Config.recentIsos.end(); ++it) {
if (!strcmp((*it).c_str(),gamePath.c_str()))
#ifdef _WIN32
if (!strcmpIgnore((*it).c_str(), gamePath_.c_str(), "\\","/"))
#else
if (!strcmp((*it).c_str(), gamePath_))
#endif
return true;
}
return false;
@ -219,7 +223,11 @@ bool GameScreen::isRecentGame(std::string gamePath) {
UI::EventReturn GameScreen::OnRemoveFromRecent(UI::EventParams &e) {
for (auto it = g_Config.recentIsos.begin(); it != g_Config.recentIsos.end(); ++it) {
if (!strcmp((*it).c_str(),gamePath_.c_str())) {
#ifdef _WIN32
if (!strcmpIgnore((*it).c_str(), gamePath_.c_str(), "\\","/")) {
#else
if (!strcmp((*it).c_str(), gamePath_)) {
#endif
g_Config.recentIsos.erase(it);
screenManager()->switchScreen(new MainScreen());
return UI::EVENT_DONE;