diff options
author | Sebastian Thiel <sebastian.thiel@icloud.com> | 2020-03-29 16:32:11 +0800 |
---|---|---|
committer | Sebastian Thiel <sebastian.thiel@icloud.com> | 2020-03-29 16:32:11 +0800 |
commit | b5564057fd999a87a7e0f9470964d05595f12556 (patch) | |
tree | 523c6a7881a65f32bebd140248784c0c99040f4c | |
parent | 1ceb264ee9393b6adec68781100ee962ae8e3656 (diff) |
Assure we keep display state changes
-rw-r--r-- | src/interactive/app/eventloop.rs | 18 |
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, ) |