NatronGitHub / Natron

Open-source video compositing software. Node-graph based. Similar in functionalities to Adobe After Effects and Nuke by The Foundry.
http://NatronGitHub.github.io
GNU General Public License v2.0
4.64k stars 338 forks source link

Fix CrashReporter process invocation on Windows. #880

Closed acolwell closed 1 year ago

acolwell commented 1 year ago

Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. Additionally, make sure you've done all of these things:

PR Description

What type of PR is this? (Check one of the boxes below)

What does this pull request do?

This change fixes the CrashReporter code that launches the actual Natron binary. It removes a parameter that was not needed on Windows that caused the Natron binary to immediately exit. It also fixes the command-line parameters passed to the child process. The old code was passing in the CrashReporter binary name as the first parameter which was causing the command-line parsing code to fail because it interpreted this as an unknown/unhandled parameter.

Have you tested your changes (if applicable)? If so, how?

Yes. I built a Windows build with tools/jenkins/launchBuildMain with DISABLE_BREAKPAD=0. I was able to successfully launch the Natron UI. I then clicked on the "Test Crash Reporting" button in Edit -> Preferences. This brought up the "Problem Report" dialog and I was able to save a minidump locally by clicking the "Save Report" button. With an updated version of Natron breakpad and the updated MinGW packages for Qt5, I was able to view the crash stack trace with minidump_stackwalk and the symbol files generated by tools/jenkins/launchBuildMain.