mozilla-crashreporter-restart-args.patch
changeset 483 6a8f38a81faf
parent 469 26e68edfc24b
--- a/mozilla-crashreporter-restart-args.patch	Mon Jun 11 20:22:53 2012 +0200
+++ b/mozilla-crashreporter-restart-args.patch	Tue Jun 19 10:12:39 2012 +0200
@@ -1,16 +1,21 @@
 # HG changeset patch
 # User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent 2cea34f21fbbd778c9643f4453c8438719c27444
-Bug 762780 - crashreporter fails to restart Firefox
+# Parent 07bb4ecfd6d6cc16360e7a32ee10b885d523f20d
+Bug 762780 - crashreporter restart command should support MOZ_APP_LAUNCHER
 
 diff --git a/toolkit/crashreporter/nsExceptionHandler.cpp b/toolkit/crashreporter/nsExceptionHandler.cpp
 --- a/toolkit/crashreporter/nsExceptionHandler.cpp
 +++ b/toolkit/crashreporter/nsExceptionHandler.cpp
-@@ -1364,29 +1364,22 @@ SetRestartArgs(int argc, char** argv)
+@@ -1360,32 +1360,25 @@ nsresult
+ SetRestartArgs(int argc, char** argv)
+ {
+   if (!gExceptionHandler)
+     return NS_OK;
  
    int i;
    nsCAutoString envVar;
    char *env;
++  char *argv1 = getenv("MOZ_APP_LAUNCHER");
    for (i = 0; i < argc; i++) {
      envVar = "MOZ_CRASHREPORTER_RESTART_ARG_";
      envVar.AppendInt(i);
@@ -27,12 +32,11 @@
 -    } else
 -#endif
 -    {
-+    // Is there a request to suppress default binary launcher?
-+    char* argv1 = getenv("MOZ_APP_LAUNCHER");
-+    if(!argv1) {
++    if (argv1 && i == 0) {
++      // Is there a request to suppress default binary launcher?
++      envVar += argv1;
++    } else {
        envVar += argv[i];
-+    } else {
-+      envVar += argv1;
      }
  
      // PR_SetEnv() wants the string to be available for the lifetime
@@ -40,4 +44,3 @@
      env = ToNewCString(envVar);
      if (!env)
        return NS_ERROR_OUT_OF_MEMORY;
-