summaryrefslogtreecommitdiffstats
path: root/toolkit/crashreporter/nsExceptionHandler.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-08 15:11:27 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-08 15:11:27 +0000
commitf3bcaf9f88aad2c423ebcd61121562f9834187d4 (patch)
treef22238c29b57707b645a350940e3e9bdf3ce1f5d /toolkit/crashreporter/nsExceptionHandler.cpp
parentAdding debian version 115.7.0esr-1~deb12u1. (diff)
downloadfirefox-esr-f3bcaf9f88aad2c423ebcd61121562f9834187d4.tar.xz
firefox-esr-f3bcaf9f88aad2c423ebcd61121562f9834187d4.zip
Merging upstream version 115.8.0esr.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/crashreporter/nsExceptionHandler.cpp')
-rw-r--r--toolkit/crashreporter/nsExceptionHandler.cpp23
1 files changed, 11 insertions, 12 deletions
diff --git a/toolkit/crashreporter/nsExceptionHandler.cpp b/toolkit/crashreporter/nsExceptionHandler.cpp
index aca9248147..534f5ab48c 100644
--- a/toolkit/crashreporter/nsExceptionHandler.cpp
+++ b/toolkit/crashreporter/nsExceptionHandler.cpp
@@ -1532,21 +1532,20 @@ bool MinidumpCallback(
WriteAnnotationsForMainProcessCrash(apiData, addrInfo, crashTime);
}
- if (!doReport) {
-#ifdef XP_WIN
- TerminateProcess(GetCurrentProcess(), 1);
-#endif // XP_WIN
- return returnValue;
- }
-
+ if (doReport && isSafeToDump) {
+ // We launch the crash reporter client/dialog only if we've been explicitly
+ // asked to report crashes and if we weren't already trying to unset the
+ // exception handler (which is indicated by isSafeToDump being false).
#if defined(MOZ_WIDGET_ANDROID) // Android
- returnValue =
- LaunchCrashHandlerService(crashReporterPath.c_str(), minidumpPath);
+ returnValue =
+ LaunchCrashHandlerService(crashReporterPath.c_str(), minidumpPath);
#else // Windows, Mac, Linux, etc...
- returnValue = LaunchProgram(crashReporterPath.c_str(), minidumpPath);
-# ifdef XP_WIN
+ returnValue = LaunchProgram(crashReporterPath.c_str(), minidumpPath);
+#endif
+ }
+
+#ifdef XP_WIN
TerminateProcess(GetCurrentProcess(), 1);
-# endif
#endif
return returnValue;