fix: close race and UI gaps found in Link Audio review #2
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/per-node-link-audio-publish"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adversarial review of the previous commit found several real issues:
tap slot without holding the graph's callback lock (unlike the
disable path), so registerNodeSink()'s internal dedup-by-erase could
free a NodeSinkGroup while the audio thread was still publishing
through it. Now takes the same lock and clears the old slot before
registering the new one, mirroring the disable path.
the whole footer-button block is gated behind a pre-existing
pluginName exclusion list that skips those two node types, so half
of this feature's stated scope was unreachable from the UI despite
the FilterGraph/LinkAudioService plumbing being fully wired for it.
They now get the button in a small strip below the title label,
since they have none of the normal edit/mappings/bypass/delete chrome
to anchor it to.
linkAudioButton could overlap bypassButton on narrow generic-shell
nodes (most ordinary third-party plugins).
menu captured
thisby raw pointer; now uses Component::SafePointerso a node deletion or patch reload while the menu is open is safe.
instead of that sink's actual channel count, inconsistent with the
master-sink resize right above it.