]> granicus.if.org Git - neomutt/commitdiff
Set GPGME locale on first attempt to create context.
authorBrendan Cully <brendan@kublai.com>
Wed, 2 Jul 2008 01:29:47 +0000 (18:29 -0700)
committerBrendan Cully <brendan@kublai.com>
Wed, 2 Jul 2008 01:29:47 +0000 (18:29 -0700)
Closes #2913.

crypt-gpgme.c

index 670be16876d4e8f7aa1eb2234dd5d0e63a9eaa1d..adfc50e2bc40a83d27f9dc35320388e175608a69 100644 (file)
 #define CRYPT_KV_STRONGID 8
 #define CRYPT_KV_MATCH (CRYPT_KV_ADDR|CRYPT_KV_STRING)
 
+/* static local variables */
+#ifdef ENABLE_NLS
+static int GpgmeLocaleSet = 0;
+#endif
+
 /*
  * Type definitions.
  */
@@ -339,6 +344,16 @@ static gpgme_ctx_t create_gpgme_context (int for_smime)
   gpgme_error_t err;
   gpgme_ctx_t ctx;
 
+#ifdef ENABLE_NLS
+  if (!GpgmeLocaleSet)
+  {
+    gpgme_set_locale (NULL, LC_CTYPE, setlocale (LC_CTYPE, NULL));
+    gpgme_set_locale (NULL, LC_MESSAGES, setlocale (LC_MESSAGES, NULL));
+
+    GpgmeLocaleSet = 1;
+  }
+#endif
+
   err = gpgme_new (&ctx);
   if (err)
     {