summaryrefslogtreecommitdiffstats
path: root/toolkit/crashreporter/client/crashreporter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/crashreporter/client/crashreporter.cpp')
-rw-r--r--toolkit/crashreporter/client/crashreporter.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/toolkit/crashreporter/client/crashreporter.cpp b/toolkit/crashreporter/client/crashreporter.cpp
index a14ea14fbc..fa3d51762d 100644
--- a/toolkit/crashreporter/client/crashreporter.cpp
+++ b/toolkit/crashreporter/client/crashreporter.cpp
@@ -544,7 +544,12 @@ string GetProgramPath(const string& exename) {
// The other applications we ship with Firefox are stored in the main bundle
// (Firefox.app/Contents/MacOS/) so we we need to go back three directories
// to reach them.
- path.append("../../../");
+ path.erase(pos - 1);
+ for (size_t i = 0; i < 3; i++) {
+ pos = path.rfind(UI_DIR_SEPARATOR, pos - 1);
+ }
+
+ path.erase(pos + 1);
#endif // XP_MACOSX
path.append(exename + BIN_SUFFIX);