diff --git a/crates/engine/src/cmd/clip_list.rs b/crates/engine/src/cmd/clip_list.rs index 4df0d69..a852988 100644 --- a/crates/engine/src/cmd/clip_list.rs +++ b/crates/engine/src/cmd/clip_list.rs @@ -148,4 +148,13 @@ mod tests { assert!(e.execute("clip.clear", &p).is_err(), "{p}"); } } + + #[test] + fn deselect_all_clears_the_clip_list_selection() { + let mut e = crate::demo::demo_engine(); + let (f, _) = kick(&e); + e.execute("edit.select", &json!({"sources": [f]})).unwrap(); + e.execute("edit.select_none", &json!({})).unwrap(); + assert!(e.session().edit.selected_sources.is_empty()); + } } diff --git a/crates/engine/src/cmd/edit.rs b/crates/engine/src/cmd/edit.rs index 6082afb..9d8d7f0 100644 --- a/crates/engine/src/cmd/edit.rs +++ b/crates/engine/src/cmd/edit.rs @@ -52,6 +52,7 @@ pub fn specs() -> Vec { let s = e.session_mut(); s.edit.selected_tracks.clear(); s.edit.selected_clips.clear(); + s.edit.selected_sources.clear(); s.edit.selection.end = s.edit.selection.start; Ok(json!({})) }),