Merge pull request #1659

This commit is contained in:
Brandon Thomas
2026-10-18 09:35:34 -04:00
3 changed files with 52 additions and 1 deletions
+5 -1
View File
@@ -987,6 +987,7 @@ fn delete_keys(s: &mut Session, _: &Value) -> Result<Value> {
let sel = s.state.selected_keys.clone();
s.edit("Delete Keyframes", None, |proj, st| {
let comp = proj.comp_mut(cid).ok_or(EngineError::NoComp)?;
let mut removed = 0usize;
for k in &sel {
if let Some(pr) = comp.layer_mut(k.layer).and_then(|l| l.props.find_mut(k.prop))
&& let Some(i) = key_at(&pr.keys, k.time)
@@ -995,10 +996,13 @@ fn delete_keys(s: &mut Session, _: &Value) -> Result<Value> {
pr.value = pr.keys[0].value.clone();
}
pr.keys.remove(i);
removed += 1;
}
}
st.selected_keys.clear();
Ok(json!(sel.len()))
// The keys actually removed: a selected key that is gone (or listed twice) isn't counted,
// so a caller can tell that a delete changed nothing.
Ok(json!(removed))
})
}