Skip to content

Commit

Permalink
bug: Fix bug caused by hitting enter w/ a failed dd
Browse files Browse the repository at this point in the history
This would cause the dd fields to get stuck due to never resetting.
  • Loading branch information
ClementTsang authored Aug 16, 2020
1 parent f3897f0 commit d211c64
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 5 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- [183](https://github.com/ClementTsang/bottom/pull/183): Fixed bug in basic mode where the battery widget was placed incorrectly.

- [186](https://github.com/ClementTsang/bottom/pull/186): Fixed a bug caused by hitting `Enter` when a process kill fails, breaking future process kills.

## [0.4.5] - 2020-07-08

- No changes here, just an uptick for Crates.io using the wrong Cargo.lock.
Expand Down
16 changes: 11 additions & 5 deletions src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -130,17 +130,21 @@ impl App {
self.data_collection.reset();
}

fn close_dd(&mut self) {
self.delete_dialog_state.is_showing_dd = false;
self.delete_dialog_state.is_on_yes = false;
self.to_delete_process_list = None;
self.dd_err = None;
}

pub fn on_esc(&mut self) {
self.reset_multi_tap_keys();
if self.is_in_dialog() {
if self.help_dialog_state.is_showing_help {
self.help_dialog_state.is_showing_help = false;
self.help_dialog_state.scroll_state.current_scroll_index = 0;
} else {
self.delete_dialog_state.is_showing_dd = false;
self.delete_dialog_state.is_on_yes = false;
self.to_delete_process_list = None;
self.dd_err = None;
self.close_dd();
}

self.is_force_redraw = true;
Expand Down Expand Up @@ -390,7 +394,9 @@ impl App {
/// One of two functions allowed to run while in a dialog...
pub fn on_enter(&mut self) {
if self.delete_dialog_state.is_showing_dd {
if self.delete_dialog_state.is_on_yes {
if self.dd_err.is_some() {
self.close_dd();
} else if self.delete_dialog_state.is_on_yes {
// If within dd...
if self.dd_err.is_none() {
// Also ensure that we didn't just fail a dd...
Expand Down

0 comments on commit d211c64

Please sign in to comment.