[PATCH] users kcm: Fix issue in sorting user list
authorSune Vuorela <sune@vuorela.dk>
Thu, 13 Feb 2025 19:28:40 +0000 (19:28 +0000)
committerAurélien COUDERC <coucouf@debian.org>
Tue, 20 May 2025 06:31:26 +0000 (08:31 +0200)
If two users are logged in, the sorting order is not stable, both should be sorted before the other

Use partition instead of sorting, since we only care about having moved logged in users up front.

Found by: Kamil Kaznowski

Gbp-Pq: Name upstream_fbb2e6d3_users-kcm-Fix-issue-in-sorting-user-list.patch

kcms/users/src/usermodel.cpp

index 9b3fc0fd971b1a83558e8cf795197e0f6bdfa24a..8be299659b2744666373004f4d0c9628b3b6b05b 100644 (file)
@@ -82,8 +82,8 @@ UserModel::UserModel(QObject *parent)
         m_userList.append(user);
     }
 
-    std::ranges::sort(m_userList, [](User *lhs, User *) {
-        return lhs->loggedIn();
+    std::ranges::stable_partition(m_userList, [](User *u) {
+        return u->loggedIn();
     });
 
     connect(this, &QAbstractItemModel::rowsInserted, this, &UserModel::moreThanOneAdminUserChanged);