Design View: no undo block may open over the reclaim span, and a reapply closes none
Every opener ends the span first, so a tag fired mid-drain no longer hijacks the switch's point. One stated criterion governs both lane sites; no-op actions discard.
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#include "shell/capture/track_guid.h" // guidString
|
||||
#include "shell/panel/panel_input.h" // bankPanelTailSetting
|
||||
#include "shell/persist/session.h"
|
||||
#include "shell/view/fx_reclaim.h" // fxReclaimEndUndoSpan
|
||||
#include "shell/view/view.h" // applyMode
|
||||
#include "shell/view/view_lanes.h" // mintManagedLanes
|
||||
|
||||
@@ -133,6 +134,11 @@ void RunRenderTrackInPlace(ReaSamplerSession& session) {
|
||||
// visible — never to choose a tag. Both tags below are absolute.
|
||||
const std::string activeMode = session.view().activeModeId();
|
||||
|
||||
// A mode switch fired seconds ago has left the FX reclaimer's undo span open, and
|
||||
// no block may open over it — mechanism in src/shell/view/CLAUDE.md. Ending it here
|
||||
// mints the switch's point, whole, before this block exists; idempotent otherwise.
|
||||
fxReclaimEndUndoSpan();
|
||||
|
||||
Undo_BeginBlock2(nullptr);
|
||||
|
||||
// flags = 0, never 1: flags&1 adds default envelopes/FX, and a default chain
|
||||
|
||||
Reference in New Issue
Block a user