File fix-sudo-issue.patch of Package deepin-polkit-agent

diff -Nur dde-polkit-agent-5.4.14/AuthDialog.cpp dde-polkit-agent-5.4.14-new/AuthDialog.cpp
--- dde-polkit-agent-5.4.14/AuthDialog.cpp	2021-10-15 09:37:19.000000000 +0800
+++ dde-polkit-agent-5.4.14-new/AuthDialog.cpp	2022-02-09 20:20:42.482537932 +0800
@@ -193,12 +193,20 @@
     } else {
         // 判断用户密码是否在有效期内
         QDBusInterface accounts("com.deepin.daemon.Accounts", "/com/deepin/daemon/Accounts", "com.deepin.daemon.Accounts", QDBusConnection::systemBus());
-        const QString &path = accounts.call("FindUserById", QString::number(identity.toUnixUserIdentity().uid())).arguments().value(0).toString();
+        QString path;
+        QDBusReply<QString> reply = accounts.call("FindUserById", QString::number(identity.toUnixUserIdentity().uid()));
+        if (reply.isValid()) {
+            path = reply.value();
+        }
+
         bool passwordIsExpired = false;
 
         if (!path.isEmpty()) {
             QDBusInterface accounts_user("com.deepin.daemon.Accounts", path, "com.deepin.daemon.Accounts.User", QDBusConnection::systemBus());
-            passwordIsExpired = accounts_user.call("IsPasswordExpired").arguments().value(0).toBool();
+            QDBusReply<bool> reply = accounts_user.call("IsPasswordExpired");
+            if (reply.isValid()) {
+                passwordIsExpired = reply.value();
+            }
         }
 
         // 如果密码以过期
openSUSE Build Service is sponsored by