From: WGH <[email protected]>

First, Item.Delete never accepted any arguments, so this code likely
never worked.

Second, Item.Delete might return a Prompt object, which client
is supposed to call if keyring wants to confirm deletion.
---
 virtManager/lib/keyring.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/virtManager/lib/keyring.py b/virtManager/lib/keyring.py
index 203886dc..c0f50142 100644
--- a/virtManager/lib/keyring.py
+++ b/virtManager/lib/keyring.py
@@ -87,7 +87,12 @@ class vmmKeyring(vmmGObject):
             iface = Gio.DBusProxy.new_sync(self._dbus, 0, None,
                                            "org.freedesktop.secrets", path,
                                            "org.freedesktop.Secret.Item", None)
-            iface.Delete("(s)", "/")
+            prompt = iface.Delete()
+            if prompt != "/":
+                iface = Gio.DBusProxy.new_sync(self._dbus, 0, None,
+                                               "org.freedesktop.secrets", 
prompt,
+                                               
"org.freedesktop.Secret.Prompt", None)
+                iface.Prompt("(s)", "")
         except Exception:
             log.exception("Failed to delete keyring secret")
 
-- 
2.31.0


Reply via email to