summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Thiel <sebastian.thiel@icloud.com>2020-03-29 16:32:11 +0800
committerSebastian Thiel <sebastian.thiel@icloud.com>2020-03-29 16:32:11 +0800
commitb5564057fd999a87a7e0f9470964d05595f12556 (patch)
tree523c6a7881a65f32bebd140248784c0c99040f4c
parent1ceb264ee9393b6adec68781100ee962ae8e3656 (diff)
Assure we keep display state changes
-rw-r--r--src/interactive/app/eventloop.rs18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/interactive/app/eventloop.rs b/src/interactive/app/eventloop.rs
index d69e943..02519bb 100644
--- a/src/interactive/app/eventloop.rs
+++ b/src/interactive/app/eventloop.rs
@@ -60,7 +60,7 @@ impl AppState {
&mut self,
window: &mut MainWindow,
traversal: &mut Traversal,
- mut display: DisplayOptions,
+ display: &mut DisplayOptions,
mut terminal: Terminal<B>,
keys: impl Iterator<Item = Result<Key, io::Error>>,
) -> Result<WalkResult, Error>
@@ -78,7 +78,7 @@ impl AppState {
std::process::exit(0);
}
- self.draw(window, traversal, display, &mut terminal)?;
+ self.draw(window, traversal, display.clone(), &mut terminal)?;
for key in keys.filter_map(Result::ok) {
match key {
Char('?') => self.toggle_help_pane(window),
@@ -98,9 +98,13 @@ impl AppState {
}
match self.focussed {
- FocussedPane::Mark => {
- self.dispatch_to_mark_pane(key, window, traversal, display, &mut terminal)
- }
+ FocussedPane::Mark => self.dispatch_to_mark_pane(
+ key,
+ window,
+ traversal,
+ display.clone(),
+ &mut terminal,
+ ),
FocussedPane::Help => {
window.help_pane.as_mut().expect("help pane").key(key);
}
@@ -123,7 +127,7 @@ impl AppState {
_ => {}
},
};
- self.draw(window, traversal, display, &mut terminal)?;
+ self.draw(window, traversal, display.clone(), &mut terminal)?;
}
Ok(WalkResult {
num_errors: traversal.io_errors,
@@ -165,7 +169,7 @@ impl TerminalApp {
self.state.process_events(
&mut self.window,
&mut self.traversal,
- self.display,
+ &mut self.display,
terminal,
keys,
)