summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/DolphinWX/GameListCtrl.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/Source/Core/DolphinWX/GameListCtrl.cpp b/Source/Core/DolphinWX/GameListCtrl.cpp
index b7185f014e..f5c32d3719 100644
--- a/Source/Core/DolphinWX/GameListCtrl.cpp
+++ b/Source/Core/DolphinWX/GameListCtrl.cpp
@@ -128,10 +128,12 @@ static int CompareGameListItems(const GameListItem* iso1, const GameListItem* is
case CGameListCtrl::COLUMN_TITLE:
if (!strcasecmp(iso1->GetName(indexOne).c_str(),iso2->GetName(indexOther).c_str()))
{
- if (iso1->IsDiscTwo())
- return 1 * t;
- else if (iso2->IsDiscTwo())
- return -1 * t;
+ if (iso1->GetUniqueID() != iso2->GetUniqueID())
+ return t * (iso1->GetUniqueID() > iso2->GetUniqueID() ? 1 : -1);
+ if (iso1->GetRevision() != iso2->GetRevision())
+ return t * (iso1->GetRevision() > iso2->GetRevision() ? 1 : -1);
+ if (iso1->IsDiscTwo() != iso2->IsDiscTwo())
+ return t * iso1->IsDiscTwo() ? 1 : -1;
}
return strcasecmp(iso1->GetName(indexOne).c_str(),
iso2->GetName(indexOther).c_str()) * t;