Cherry-picked keymap_ui: Fix bug introduced in #35208 (#35237) Closes #ISSUE Fixes a bug that was cherry picked onto stable and preview branches introduced in #35208 whereby modifier keys would show up and not be removable when editing a keybind Release Notes: - (preview only) Keymap Editor: Fixed an issue introduced in v0.197.2 whereby modifier keys would show up and not be removable while recording keystrokes in the keybind edit modal Co-authored-by: Ben Kunkle <ben@zed.dev>
This commit is contained in:
parent
99debc2504
commit
4031bedee5
2 changed files with 4 additions and 6 deletions
|
@ -534,11 +534,7 @@ impl Modifiers {
|
||||||
|
|
||||||
/// Checks if this [`Modifiers`] is a subset of another [`Modifiers`].
|
/// Checks if this [`Modifiers`] is a subset of another [`Modifiers`].
|
||||||
pub fn is_subset_of(&self, other: &Modifiers) -> bool {
|
pub fn is_subset_of(&self, other: &Modifiers) -> bool {
|
||||||
(other.control || !self.control)
|
(*other & *self) == *self
|
||||||
&& (other.alt || !self.alt)
|
|
||||||
&& (other.shift || !self.shift)
|
|
||||||
&& (other.platform || !self.platform)
|
|
||||||
&& (other.function || !self.function)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3109,7 +3109,9 @@ impl KeystrokeInput {
|
||||||
) {
|
) {
|
||||||
let keystrokes_len = self.keystrokes.len();
|
let keystrokes_len = self.keystrokes.len();
|
||||||
|
|
||||||
if event.modifiers.is_subset_of(&self.previous_modifiers) {
|
if self.previous_modifiers.modified()
|
||||||
|
&& event.modifiers.is_subset_of(&self.previous_modifiers)
|
||||||
|
{
|
||||||
self.previous_modifiers &= event.modifiers;
|
self.previous_modifiers &= event.modifiers;
|
||||||
cx.stop_propagation();
|
cx.stop_propagation();
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue