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::Down, .. }
|
||||||
| KeyEvent { code: KeyCode::Char('k'), .. } => {
|
| KeyEvent { code: KeyCode::Char('k'), .. } => {
|
||||||
let index = match self.selection.selected() {
|
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,
|
None => 0,
|
||||||
};
|
};
|
||||||
self.selection.select(Some(index));
|
self.selection.select(Some(index));
|
||||||
|
|
@ -466,11 +469,15 @@ impl UI {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let selected = match self.selection.selected() {
|
let selected = if self.ports.len() == 0 {
|
||||||
Some(i) => i.min(self.ports.len() - 1),
|
None // No ports, no selection.
|
||||||
None => 0,
|
} 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)) => {
|
Some(UIEvent::ServerLine(line)) => {
|
||||||
while self.lines.len() >= 1024 {
|
while self.lines.len() >= 1024 {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue