Fixed.
[riece] / lisp / riece-epg.el
index 09c3b4f..df66fa6 100644 (file)
@@ -26,6 +26,7 @@
 (require 'riece-message)
 (require 'riece-identity)
 
+(autoload 'widget-convert-button "wid-edit")
 (autoload 'epg-make-context "epg")
 (autoload 'epg-decrypt-string "epg")
 (autoload 'epg-encrypt-string "epg")
@@ -44,7 +45,7 @@
 
 (defvar riece-epg-passphrase-alist nil)
 
-(defun riece-epg-passphrase-callback-function (key-id identity)
+(defun riece-epg-passphrase-callback-function (context key-id identity)
   (if (eq key-id 'SYM)
       (let ((entry (riece-identity-assoc identity riece-epg-passphrase-alist))
            passphrase)
                (setq entry (list identity)
                      riece-epg-passphrase-alist (cons entry
                                                 riece-epg-passphrase-alist)))
-             (setq passphrase (epg-passphrase-callback-function key-id nil))
+             (setq passphrase (epg-passphrase-callback-function context
+                                                                key-id nil))
              (setcdr entry (copy-sequence passphrase))
              passphrase)))
-    (epg-passphrase-callback-function key-id nil)))
+    (epg-passphrase-callback-function context key-id nil)))
+
+(defun riece-epg-passphrase-callback-function-for-decrypt (context key-id
+                                                                  identity)
+  (if (eq key-id 'SYM)
+      (let ((entry (riece-i