[svn] GpgOL - r283 - in trunk: po src

svn author wk cvs at cvs.gnupg.org
Mon Nov 10 18:59:22 CET 2008


Author: wk
Date: 2008-11-10 18:59:21 +0100 (Mon, 10 Nov 2008)
New Revision: 283

Modified:
   trunk/po/de.po
   trunk/po/sv.po
   trunk/src/ChangeLog
   trunk/src/engine-assuan.c
   trunk/src/engine.c
Log:
Ask the user whether he want to try starting the ui-server again.


Modified: trunk/src/ChangeLog
===================================================================
--- trunk/src/ChangeLog	2008-11-03 13:56:34 UTC (rev 282)
+++ trunk/src/ChangeLog	2008-11-10 17:59:21 UTC (rev 283)
@@ -1,3 +1,10 @@
+2008-11-10  Werner Koch  <wk at g10code.com>
+
+	* engine.c (engine_init): Allow the user to try again if the
+	server did not come up.
+	* engine-assuan.c (connect_uiserver, op_assuan_init): Add a hack
+	to reset the retry counter.
+
 2008-11-03  Werner Koch  <wk at g10code.com>
 
 	* mimemaker.c (do_mime_sign): Add arg SESSION_NUMBER and pass it

Modified: trunk/po/de.po  [not shown]
Modified: trunk/po/sv.po  [not shown]
Modified: trunk/src/engine-assuan.c
===================================================================
--- trunk/src/engine-assuan.c	2008-11-03 13:56:34 UTC (rev 282)
+++ trunk/src/engine-assuan.c	2008-11-10 17:59:21 UTC (rev 283)
@@ -455,6 +455,13 @@
   gpg_error_t err;
   assuan_context_t ctx;
 
+  if (!r_ctx && !r_pid && !r_cmdid && !hwnd)
+    {
+      InterlockedExchange (&retry_counter, 0);
+      return 0;
+    }
+
+
   *r_ctx = NULL;
   *r_pid = (pid_t)(-1);
   *r_cmdid = 0;
@@ -570,6 +577,9 @@
   if (init_done)
     return 0;
   
+  /* Reset the retry counter.  */
+  connect_uiserver (NULL, NULL, NULL, NULL);
+
   /* Run a test connection to see whether the UI server is available.  */
   err = connect_uiserver (&ctx, &pid, &cmdid, NULL);
   if (!err)

Modified: trunk/src/engine.c
===================================================================
--- trunk/src/engine.c	2008-11-03 13:56:34 UTC (rev 282)
+++ trunk/src/engine.c	2008-11-10 17:59:21 UTC (rev 283)
@@ -421,7 +421,15 @@
   if (err)
     return err;
 
-  err = op_assuan_init ();
+  do
+    err = op_assuan_init ();
+  while (err
+         && MessageBox (NULL,
+                        _("The user interface server is not available "
+                          "or could not be started in time.  You may "
+                          "want to try again."),
+                        _("GpgOL"),
+                        MB_ICONQUESTION|MB_RETRYCANCEL) == IDRETRY);
   if (err)
     {
       use_assuan = 0;




More information about the Gnupg-commits mailing list