diff --git a/Source/Core/DolphinQt2/GameList/GameListModel.cpp b/Source/Core/DolphinQt2/GameList/GameListModel.cpp index 860fbbe9d0..f62d515849 100644 --- a/Source/Core/DolphinQt2/GameList/GameListModel.cpp +++ b/Source/Core/DolphinQt2/GameList/GameListModel.cpp @@ -204,15 +204,18 @@ void GameListModel::UpdateGame(QSharedPointer game) { QString path = game->GetFilePath(); - int entry = FindGame(path); - if (entry < 0) - entry = m_games.size(); + int index = FindGame(path); + if (index < 0) + { + beginInsertRows(QModelIndex(), m_games.size(), m_games.size()); + m_games.push_back(game); + endInsertRows(); + } else - return; - - beginInsertRows(QModelIndex(), entry, entry); - m_games.insert(entry, game); - endInsertRows(); + { + m_games[index] = game; + emit dataChanged(createIndex(index, 0), createIndex(index + 1, columnCount(QModelIndex()))); + } } void GameListModel::RemoveGame(const QString& path)