[vlc-devel] [PATCH] macosx: move breakpad initialization and allow opt-out
Marvin Scholz
epirat07 at gmail.com
Mon May 4 20:40:32 CEST 2020
Move the breakpad initialization right to the start of the program
and do not initialize breakpad if the VLC_DISABLE_BREAKPAD env variable
is set.
---
bin/darwinvlc.m | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/bin/darwinvlc.m b/bin/darwinvlc.m
index e8b56a08d1..b405c9731f 100644
--- a/bin/darwinvlc.m
+++ b/bin/darwinvlc.m
@@ -116,6 +116,13 @@ BreakpadRef initBreakpad()
*****************************************************************************/
int main(int i_argc, const char *ppsz_argv[])
{
+#ifdef HAVE_BREAKPAD
+ BreakpadRef breakpad = NULL;
+
+ if (!getenv("VLC_DISABLE_BREAKPAD"))
+ breakpad = initBreakpad();
+#endif
+
/* The so-called POSIX-compliant MacOS X reportedly processes SIGPIPE even
* if it is blocked in all thread.
* Note: this is NOT an excuse for not protecting against SIGPIPE. If
@@ -279,10 +286,6 @@ int main(int i_argc, const char *ppsz_argv[])
* runloop is used. Otherwise, [NSApp run] needs to be called, which setups more stuff
* before actually starting the loop.
*/
-#ifdef HAVE_BREAKPAD
- BreakpadRef breakpad;
- breakpad = initBreakpad();
-#endif
@autoreleasepool {
if(NSApp == nil) {
CFRunLoopRun();
@@ -302,7 +305,8 @@ int main(int i_argc, const char *ppsz_argv[])
libvlc_release(vlc);
#ifdef HAVE_BREAKPAD
- BreakpadRelease(breakpad);
+ if (breakpad)
+ BreakpadRelease(breakpad);
#endif
return ret;
--
2.24.1 (Apple Git-126)
More information about the vlc-devel
mailing list