1
0
Fork 0

Disable open::that() on Windows

Until there's an alternative that doesn't panic.
This commit is contained in:
Robbert van der Helm 2023-03-19 13:36:50 +01:00
parent 66ba8f2872
commit 6f070150ea
4 changed files with 41 additions and 10 deletions

View file

@ -0,0 +1,15 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Changed
- On Windows, clicking on the plugin's name no longer takes you to Spectral
Compressor's home page. This is a temporary workaround for an issue with an
underlying library.

View file

@ -93,11 +93,16 @@ fn top_bar(cx: &mut Context) {
.top(Pixels(2.0))
.left(Pixels(8.0))
.on_mouse_down(|_, _| {
// Try to open the Diopser plugin's page when clicking on the title. If this fails
// then that's not a problem
let result = open::that(Diopser::URL);
if cfg!(debug) && result.is_err() {
nih_debug_assert_failure!("Failed to open web browser: {:?}", result);
// FIXME: On Windows this blocks, and while this is blocking a timer may proc which
// causes the window state to be mutably borrowed again, resulting in a
// panic. This needs to be fixed in baseview first.
if cfg!(not(windows)) {
// Try to open the Diopser plugin's page when clicking on the title. If this
// fails then that's not a problem
let result = open::that(Diopser::URL);
if cfg!(debug) && result.is_err() {
nih_debug_assert_failure!("Failed to open web browser: {:?}", result);
}
}
});
Label::new(cx, Diopser::VERSION)

View file

@ -12,6 +12,9 @@ Versioning](https://semver.org/spec/v2.0.0.html).
- The default window overlap amount setting has changed to 16x. Existing patches
are not affected.
- On Windows, clicking on the plugin's name no longer takes you to Spectral
Compressor's home page. This is a temporary workaround for an issue with an
underlying library.
## [0.3.0] - 2023-01-15

View file

@ -115,11 +115,19 @@ fn main_column(cx: &mut Context) {
))])
.font_size(30.0)
.on_mouse_down(|_, _| {
// Try to open the plugin's page when clicking on the title. If this fails
// then that's not a problem
let result = open::that(SpectralCompressor::URL);
if cfg!(debug) && result.is_err() {
nih_debug_assert_failure!("Failed to open web browser: {:?}", result);
// FIXME: On Windows this blocks, and while this is blocking a timer may
// proc which causes the window state to be mutably borrowed again,
// resulting in a panic. This needs to be fixed in baseview first.
if cfg!(not(windows)) {
// Try to open the plugin's page when clicking on the title. If this
// fails then that's not a problem
let result = open::that(SpectralCompressor::URL);
if cfg!(debug) && result.is_err() {
nih_debug_assert_failure!(
"Failed to open web browser: {:?}",
result
);
}
}
});
Label::new(cx, SpectralCompressor::VERSION)