mozilla-crashreporter-restart-args.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Fri, 20 Jul 2012 09:39:20 +0200
branchfirefox14
changeset 501 e1d2a183f691
parent 486 83ef9ecabaeb
permissions -rw-r--r--
readd missing changelog
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
473
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
# HG changeset patch
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     2
# User Wolfgang Rosenauer <wr@rosenauer.org>
486
83ef9ecabaeb fix patch (as upstream in FF16)
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 473
diff changeset
     3
# Parent 0373328cfcb6ad3995f53598e974d61252ddebf4
83ef9ecabaeb fix patch (as upstream in FF16)
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 473
diff changeset
     4
Bug 762780 - crashreporter restart command should support MOZ_APP_LAUNCHER
473
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     6
diff --git a/toolkit/crashreporter/nsExceptionHandler.cpp b/toolkit/crashreporter/nsExceptionHandler.cpp
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     7
--- a/toolkit/crashreporter/nsExceptionHandler.cpp
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     8
+++ b/toolkit/crashreporter/nsExceptionHandler.cpp
486
83ef9ecabaeb fix patch (as upstream in FF16)
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 473
diff changeset
     9
@@ -1353,32 +1353,25 @@ nsresult
83ef9ecabaeb fix patch (as upstream in FF16)
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 473
diff changeset
    10
 SetRestartArgs(int argc, char** argv)
83ef9ecabaeb fix patch (as upstream in FF16)
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 473
diff changeset
    11
 {
83ef9ecabaeb fix patch (as upstream in FF16)
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 473
diff changeset
    12
   if (!gExceptionHandler)
83ef9ecabaeb fix patch (as upstream in FF16)
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 473
diff changeset
    13
     return NS_OK;
473
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    14
 
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    15
   int i;
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    16
   nsCAutoString envVar;
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    17
   char *env;
486
83ef9ecabaeb fix patch (as upstream in FF16)
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 473
diff changeset
    18
+  char *argv1 = getenv("MOZ_APP_LAUNCHER");
473
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    19
   for (i = 0; i < argc; i++) {
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
     envVar = "MOZ_CRASHREPORTER_RESTART_ARG_";
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
     envVar.AppendInt(i);
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    22
     envVar += "=";
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    23
-#if defined(XP_UNIX) && !defined(XP_MACOSX)
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    24
-    // we'd like to run the script around the binary
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    25
-    // instead of the binary itself, so remove the -bin
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    26
-    // if it exists on the first argument
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    27
-    int arg_len = 0;
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    28
-    if (i == 0 &&
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    29
-        (arg_len = strlen(argv[i])) > 4 &&
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    30
-        strcmp(argv[i] + arg_len - 4, "-bin") == 0) {
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    31
-      envVar.Append(argv[i], arg_len - 4);
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    32
-    } else
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    33
-#endif
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    34
-    {
486
83ef9ecabaeb fix patch (as upstream in FF16)
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 473
diff changeset
    35
+    if (argv1 && i == 0) {
83ef9ecabaeb fix patch (as upstream in FF16)
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 473
diff changeset
    36
+      // Is there a request to suppress default binary launcher?
83ef9ecabaeb fix patch (as upstream in FF16)
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 473
diff changeset
    37
+      envVar += argv1;
83ef9ecabaeb fix patch (as upstream in FF16)
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 473
diff changeset
    38
+    } else {
473
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    39
       envVar += argv[i];
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    40
     }
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    41
 
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    42
     // PR_SetEnv() wants the string to be available for the lifetime
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    43
     // of the app, so dup it here
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    44
     env = ToNewCString(envVar);
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    45
     if (!env)
bfd820693349 crashreporter restart command should support MOZ_APP_LAUNCHER (bmo#762780)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    46
       return NS_ERROR_OUT_OF_MEMORY;