diff --git a/radiant/preferences.cpp b/radiant/preferences.cpp index 5302c375..a691d812 100644 --- a/radiant/preferences.cpp +++ b/radiant/preferences.cpp @@ -461,7 +461,21 @@ void CGameDialog::Init() ScanForGames(); if (mGames.empty()) { - Error("Didn't find any valid game file descriptions, aborting\n"); + Error("Didn't find any valid game file descriptions, aborting\n"); + } + else + { + std::list::iterator iGame, iPrevGame; + for(iGame=mGames.begin(), iPrevGame = mGames.end(); iGame!=mGames.end(); iPrevGame = iGame, ++iGame) + { + if(iPrevGame != mGames.end()) + if(strcmp((*iGame)->getRequiredKeyValue("name"), (*iPrevGame)->getRequiredKeyValue("name")) < 0) + { + CGameDescription *h = *iGame; + *iGame = *iPrevGame; + *iPrevGame = h; + } + } } CGameDescription* currentGameDescription = 0;