diff --git a/src/layout.rs b/src/layout.rs index 6d85ef6a..75a5c942 100644 --- a/src/layout.rs +++ b/src/layout.rs @@ -1186,7 +1186,7 @@ mod seat { key_id, modifier, time, ), - false => submission.handle_drop_modifier(key_id, time), + false => submission.handle_drop_modifier(key_id, modifier, time), } } // only show when UI is present diff --git a/src/submission.rs b/src/submission.rs index 7a089d0f..a75aae5b 100644 --- a/src/submission.rs +++ b/src/submission.rs @@ -220,7 +220,8 @@ impl Submission { pub fn handle_add_modifier( &mut self, key_id: KeyStateId, - modifier: Modifier, _time: Timestamp, + modifier: Modifier, + _time: Timestamp, ) { self.modifiers_active.push((key_id, modifier)); self.update_modifiers(); @@ -228,10 +229,11 @@ impl Submission { pub fn handle_drop_modifier( &mut self, - key_id: KeyStateId, + _key_id: KeyStateId, + modifier: Modifier, _time: Timestamp, ) { - vec_remove(&mut self.modifiers_active, |(id, _)| *id == key_id); + vec_remove(&mut self.modifiers_active, |(_, m)| *m == modifier); self.update_modifiers(); } diff --git a/src/util.rs b/src/util.rs index d96f69e6..d8fcb9aa 100644 --- a/src/util.rs +++ b/src/util.rs @@ -311,7 +311,7 @@ pub trait WarningHandler { fn handle(&mut self, warning: &str); } -/// Removes the first matcing item +/// Removes the first matching item pub fn vec_remove bool>(v: &mut Vec, pred: F) -> Option { let idx = v.iter().position(pred); idx.map(|idx| v.remove(idx))