File r883862.diff of Package kdepimlibs4

Subject: gpgme: Fix "General Error" returned when trying to sign an already signed UID again with the same key.
From: wstephenson@suse.de
Bug: 
Patch-upstream: 883862
--- gpgme++/gpgsignkeyeditinteractor.cpp	(revision 883861)
+++ gpgme++/gpgsignkeyeditinteractor.cpp	(revision 883862)
@@ -251,10 +251,6 @@ unsigned int GpgSignKeyEditInteractor::n
     //handle cases that cannot be handled via the map
     switch ( const unsigned int st = state() ) {
     case UIDS_ANSWER_SIGN_ALL:
-        if ( status == GPGME_STATUS_ALREADY_SIGNED ) {
-            err = Error( GPG_ERR_CONFLICT );
-            return ERROR;
-        }
         if ( status == GPGME_STATUS_GET_LINE &&
              strcmp( args, "keyedit.prompt" ) == 0 ) {
             if ( !d->signAll() )
--- gpgme++/editinteractor.cpp	(revision 883861)
+++ gpgme++/editinteractor.cpp	(revision 883862)
@@ -205,6 +205,8 @@ Error status_to_error( unsigned int stat
     switch ( status ) {
     case GPGME_STATUS_MISSING_PASSPHRASE:
         return Error( gpg_error( GPG_ERR_INV_PASSPHRASE ) ); // should be GPG_ERR_MISSING_PASSPHRASE
+    case GPGME_STATUS_ALREADY_SIGNED:
+        return Error( gpg_error( GPG_ERR_CONFLICT ) ); // should be GPG_ERR_ALREADY_SIGNED
     }
     return Error();
 }
Index: gpgme++/gpgsignkeyeditinteractor.cpp
===================================================================
Index: gpgme++/editinteractor.cpp
===================================================================
openSUSE Build Service is sponsored by