diff options
author | Christian Duerr <contact@christianduerr.com> | 2024-11-02 20:05:51 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-02 20:05:51 +0000 |
commit | fd745a9f4cb3ba81623167c9d1117747353db33a (patch) | |
tree | effc8817d4d024dd80477fce123bcd2335b95874 /alacritty_terminal | |
parent | 39ea7271e32ad88280191d8040d6f8feafe4307a (diff) | |
download | alacritty-fd745a9f4cb3ba81623167c9d1117747353db33a.tar.gz alacritty-fd745a9f4cb3ba81623167c9d1117747353db33a.zip |
Fix racing condition in hint triggering
This fixes an issue with hints where it was possible that the terminal
content of highlighted hints changed between the highlighted hint update
and the activation of the hint.
This patch always validates the hint's text content against the hint
itself to ensure that the content is still valid for the original hint
which triggered the highlight.
Closes #8277.
Diffstat (limited to 'alacritty_terminal')
-rw-r--r-- | alacritty_terminal/src/grid/mod.rs | 2 | ||||
-rw-r--r-- | alacritty_terminal/src/term/mod.rs | 2 | ||||
-rw-r--r-- | alacritty_terminal/src/term/search.rs | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/alacritty_terminal/src/grid/mod.rs b/alacritty_terminal/src/grid/mod.rs index 278bea3b..fbd2c79e 100644 --- a/alacritty_terminal/src/grid/mod.rs +++ b/alacritty_terminal/src/grid/mod.rs @@ -615,7 +615,7 @@ pub trait BidirectionalIterator: Iterator { fn prev(&mut self) -> Option<Self::Item>; } -impl<'a, T> BidirectionalIterator for GridIterator<'a, T> { +impl<T> BidirectionalIterator for GridIterator<'_, T> { fn prev(&mut self) -> Option<Self::Item> { let topmost_line = self.grid.topmost_line(); let last_column = self.grid.last_column(); diff --git a/alacritty_terminal/src/term/mod.rs b/alacritty_terminal/src/term/mod.rs index 8a0410dc..1f1e52c1 100644 --- a/alacritty_terminal/src/term/mod.rs +++ b/alacritty_terminal/src/term/mod.rs @@ -199,7 +199,7 @@ impl<'a> TermDamageIterator<'a> { } } -impl<'a> Iterator for TermDamageIterator<'a> { +impl Iterator for TermDamageIterator<'_> { type Item = LineDamageBounds; fn next(&mut self) -> Option<Self::Item> { diff --git a/alacritty_terminal/src/term/search.rs b/alacritty_terminal/src/term/search.rs index 33f6ee05..20a427b7 100644 --- a/alacritty_terminal/src/term/search.rs +++ b/alacritty_terminal/src/term/search.rs @@ -656,7 +656,7 @@ impl<'a, T> RegexIter<'a, T> { } } -impl<'a, T> Iterator for RegexIter<'a, T> { +impl<T> Iterator for RegexIter<'_, T> { type Item = Match; fn next(&mut self) -> Option<Self::Item> { |