--- 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;
-