diff --git a/src/view.cpp b/src/view.cpp index 2c6af50..bb7d72b 100644 --- a/src/view.cpp +++ b/src/view.cpp @@ -184,11 +184,11 @@ bool applyMode(ViewModeModel& model, const std::string& targetModeId, ReaProject model.clearSnapshot(guid); } - // PARENT VISIBILITY (derived, never parked): a folder is visible iff at least - // one of its descendant leaves is visible in the target mode. That derivation is - // pure (membership + active mode), so it is recomputed every toggle rather than - // snapshotted — the four leaf-park flags don't apply to parents. Drive only the - // two visibility flags; never touch B_MAINSEND/I_FXEN/FX-offline on a parent. + // PARENT VISIBILITY (never parked): visibleTracks() marks a parent visible when + // a descendant leaf is visible in the target mode OR the parent belongs to the + // mode by its own membership (untagged folder → Arrange default). Recomputed + // every toggle rather than snapshotted. Drive only the two visibility flags; + // never touch B_MAINSEND/I_FXEN/FX-offline on a parent. std::set visible = model.visibleTracks(tree, targetModeId); for (const FolderNode& node : tree.nodes) { if (!node.isParent) continue;