Don't underflow on no ports
If ports are empty we underflow on `len()-1`, which is bad. Stop doing that.
This commit is contained in:
parent
81de013103
commit
0bb3fac61b
1 changed files with 12 additions and 5 deletions
|
|
@ -399,7 +399,10 @@ impl UI {
|
|||
KeyEvent { code: KeyCode::Down, .. }
|
||||
| KeyEvent { code: KeyCode::Char('k'), .. } => {
|
||||
let index = match self.selection.selected() {
|
||||
Some(i) => (i + 1).min(self.ports.len() - 1),
|
||||
Some(i) => {
|
||||
assert!(self.ports.len() > 0, "We must have ports because we have a selection.");
|
||||
(i + 1).min(self.ports.len() - 1)
|
||||
}
|
||||
None => 0,
|
||||
};
|
||||
self.selection.select(Some(index));
|
||||
|
|
@ -466,11 +469,15 @@ impl UI {
|
|||
}
|
||||
}
|
||||
|
||||
let selected = match self.selection.selected() {
|
||||
Some(i) => i.min(self.ports.len() - 1),
|
||||
None => 0,
|
||||
let selected = if self.ports.len() == 0 {
|
||||
None // No ports, no selection.
|
||||
} else {
|
||||
match self.selection.selected() {
|
||||
Some(i) => Some(i.min(self.ports.len() - 1)),
|
||||
None => Some(0),
|
||||
}
|
||||
};
|
||||
self.selection.select(Some(selected));
|
||||
self.selection.select(selected);
|
||||
}
|
||||
Some(UIEvent::ServerLine(line)) => {
|
||||
while self.lines.len() >= 1024 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue