[vlc-commits] macosx: move breakpad initialization and allow opt-out

Marvin Scholz git at videolan.org
Tue May 26 14:42:39 CEST 2020


vlc | branch: master | Marvin Scholz <epirat07 at gmail.com> | Mon May  4 20:40:23 2020 +0200| [8aadaf3db18202ee4d05b84612ccd590f9774a07] | committer: Marvin Scholz

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.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8aadaf3db18202ee4d05b84612ccd590f9774a07
---

 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;



More information about the vlc-commits mailing list