Fix low-severity robustness issues
- show_error_dialog() aborted when QApplication construction itself was
the failure; fall back to stderr so the real error is visible.
- Auto-update QThread cleanup dropped the last Python reference while
run() could still be unwinding ("QThread: Destroyed while thread is
still running"); defer destruction to deleteLater on finished.
- macOS ffmpeg install no longer curl|bash-es the Homebrew bootstrap
script unattended; it now asks the user to install Homebrew
themselves and fails cleanly.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -406,9 +406,14 @@ def install_ffmpeg_macos() -> bool:
|
||||
timeout=5,
|
||||
)
|
||||
except (subprocess.SubprocessError, FileNotFoundError):
|
||||
logger.info("Installing Homebrew...")
|
||||
brew_install_cmd = '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"'
|
||||
subprocess.run(brew_install_cmd, shell=True, check=True, timeout=300)
|
||||
# Never curl|bash a remote script without the user's say-so.
|
||||
# Homebrew installation is the user's decision to make in a
|
||||
# terminal, where the script can also prompt for sudo properly.
|
||||
logger.error(
|
||||
"Homebrew is not installed. Install it from https://brew.sh and retry, "
|
||||
"or install ffmpeg another way."
|
||||
)
|
||||
return False
|
||||
|
||||
# Install FFmpeg
|
||||
logger.info("Installing FFmpeg...")
|
||||
|
||||
Reference in New Issue
Block a user