author | Wolfgang Rosenauer <wr@rosenauer.org> |
Fri, 22 Jan 2010 07:46:33 +0100 | |
changeset 55 | 5297865de947 |
permissions | -rw-r--r-- |
55
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
1 |
From: Wolfgang Rosenauer <wr@rosenauer.org> |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
2 |
Subject: add distribution information to crash reports when available |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
3 |
References: |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
4 |
|
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
5 |
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
6 |
--- a/toolkit/xre/nsAppRunner.cpp |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
7 |
+++ b/toolkit/xre/nsAppRunner.cpp |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
8 |
@@ -3299,26 +3299,47 @@ XRE_main(int argc, char* argv[], const n |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
9 |
rv |= xpcom.SetWindowCreator(nativeApp); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
10 |
NS_ENSURE_SUCCESS(rv, 1); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
11 |
|
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
12 |
#ifdef MOZ_CRASHREPORTER |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
13 |
// tell the crash reporter to also send the release channel |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
14 |
nsCOMPtr<nsIPrefService> prefs = do_GetService("@mozilla.org/preferences-service;1", &rv); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
15 |
if (NS_SUCCEEDED(rv)) { |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
16 |
nsCOMPtr<nsIPrefBranch> defaultPrefBranch; |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
17 |
+ nsCOMPtr<nsIPrefBranch> distPrefBranch; |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
18 |
+ nsXPIDLCString sval; |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
19 |
+ |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
20 |
rv = prefs->GetDefaultBranch(nsnull, getter_AddRefs(defaultPrefBranch)); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
21 |
- |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
22 |
if (NS_SUCCEEDED(rv)) { |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
23 |
- nsXPIDLCString sval; |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
24 |
rv = defaultPrefBranch->GetCharPref("app.update.channel", getter_Copies(sval)); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
25 |
if (NS_SUCCEEDED(rv)) { |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
26 |
CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("ReleaseChannel"), |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
27 |
sval); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
28 |
} |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
29 |
} |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
30 |
+ |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
31 |
+ rv = prefs->GetBranch("distribution", getter_AddRefs(distPrefBranch)); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
32 |
+ if (NS_SUCCEEDED(rv)) { |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
33 |
+ rv = distPrefBranch->GetCharPref("id", getter_Copies(sval)); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
34 |
+ if (NS_SUCCEEDED(rv)) { |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
35 |
+ CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("Distributor"), |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
36 |
+ sval); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
37 |
+ } else { |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
38 |
+ printf("GetCharPref('id') failed \n"); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
39 |
+ } |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
40 |
+ rv = distPrefBranch->GetCharPref("version", getter_Copies(sval)); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
41 |
+ if (NS_SUCCEEDED(rv)) { |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
42 |
+ CrashReporter::AnnotateCrashReport(NS_LITERAL_CSTRING("Distributor_version"), |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
43 |
+ sval); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
44 |
+ } else { |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
45 |
+ printf("GetCharPref('version') failed \n"); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
46 |
+ } |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
47 |
+ } else { |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
48 |
+printf("GetBranch('distribution') failed\n"); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
49 |
+ } |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
50 |
} |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
51 |
#endif |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
52 |
{ |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
53 |
if (startOffline) { |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
54 |
nsCOMPtr<nsIIOService2> io (do_GetService("@mozilla.org/network/io-service;1")); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
55 |
NS_ENSURE_TRUE(io, 1); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
56 |
io->SetManageOfflineStatus(PR_FALSE); |
5297865de947
Sync with released package:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff
changeset
|
57 |
io->SetOffline(PR_TRUE); |