aboutsummaryrefslogtreecommitdiff
path: root/src/client/mac/Framework/Breakpad.mm
diff options
context:
space:
mode:
authornealsid <nealsid@4c0a9323-5329-0410-9bdc-e9ce6186880e>2009-04-06 00:25:29 +0000
committernealsid <nealsid@4c0a9323-5329-0410-9bdc-e9ce6186880e>2009-04-06 00:25:29 +0000
commita3d4c973369987e14cc0c05964e288ea0eac11dc (patch)
treef53b1acc20ae0a32a8b2a5cc96c4a0d90e101368 /src/client/mac/Framework/Breakpad.mm
parentOpen sourcing the Breakpad framework from Google. (diff)
downloadbreakpad-a3d4c973369987e14cc0c05964e288ea0eac11dc.tar.xz
Incorporate feedback from first Breakpad integration.
This upload fixes five issues: 1) Preston's email was hardcoded in the xib :-( 2) Changed from xib to NIB to facilitate Tiger building 3) Changed the logs location to be user specifiable by BreakpadMinidumpLocation key, or ~/Library/Breakpad/<BREAKPAD_PRODUCT> by default 4) Fixed GTM Defines problem in order to build on Tiger 5) Also set CFBundleIcon in the sender program correctly, and updated plist, and renamed ReporterIcons to crash_report_sendER.ICNS. However the rietveld upload script doesn't appear to pick up renamed files correctly, so that file doesn't show up in the patch upload. Also various comments were updated for accuracy. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@323 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/client/mac/Framework/Breakpad.mm')
-rw-r--r--src/client/mac/Framework/Breakpad.mm23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/client/mac/Framework/Breakpad.mm b/src/client/mac/Framework/Breakpad.mm
index 52301c72..9de0a94b 100644
--- a/src/client/mac/Framework/Breakpad.mm
+++ b/src/client/mac/Framework/Breakpad.mm
@@ -407,7 +407,9 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) {
[parameters objectForKey:@BREAKPAD_REQUEST_COMMENTS];
NSString *vendor =
[parameters objectForKey:@BREAKPAD_VENDOR];
-
+ NSString *dumpSubdirectory =
+ [parameters objectForKey:@BREAKPAD_DUMP_DIRECTORY];
+
// If these two are not already set(skipConfirm and sendAndExit can
// come from user defaults and take priority)
if (!skipConfirm) {
@@ -509,9 +511,14 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) {
return false;
}
- // The product and version are required values
+ if (!dumpSubdirectory) {
+ dumpSubdirectory = @"";
+ }
+
+ // The product and version are required values.
if (![product length] || ![version length]) {
- DEBUGLOG(stderr, "Missing required product and/or version keys\n");
+ DEBUGLOG(stderr,
+ "Missing required product or version subdirectory keys\n");
return false;
}
@@ -537,7 +544,9 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) {
[requestUserText UTF8String]);
dictionary.SetKeyValue(BREAKPAD_VENDOR,
[vendor UTF8String]);
-
+ dictionary.SetKeyValue(BREAKPAD_DUMP_DIRECTORY,
+ [dumpSubdirectory UTF8String]);
+
if (logFilePaths) {
char logFileKey[255];
for(unsigned int i = 0; i < [logFilePaths count]; i++) {
@@ -550,12 +559,6 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) {
dictionary.SetKeyValue(BREAKPAD_EMAIL,
[reportEmail UTF8String]);
}
-#if 0 // for testing
- BreakpadSetKeyValue(this, @"UserKey1", @"User Value 1");
- BreakpadSetKeyValue(this, @"UserKey2", @"User Value 2");
- BreakpadSetKeyValue(this, @"UserKey3", @"User Value 3");
- BreakpadSetKeyValue(this, @"UserKey4", @"User Value 4");
-#endif
return true;
}