From 8aadaf3db18202ee4d05b84612ccd590f9774a07 Mon Sep 17 00:00:00 2001 From: Marvin Scholz Date: Mon, 4 May 2020 20:40:23 +0200 Subject: [PATCH] macosx: move breakpad initialization and allow opt-out 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 @@ out: libvlc_release(vlc); #ifdef HAVE_BREAKPAD - BreakpadRelease(breakpad); + if (breakpad) + BreakpadRelease(breakpad); #endif return ret;