diff --git a/src/tabs/stashing.rs b/src/tabs/stashing.rs index 577168a0..5f13fa84 100644 --- a/src/tabs/stashing.rs +++ b/src/tabs/stashing.rs @@ -67,12 +67,14 @@ impl Stashing { /// pub fn update(&mut self) { - self.git_status - .fetch(StatusParams::new( - StatusType::Both, - self.options.stash_untracked, - )) - .unwrap(); + if self.visible { + self.git_status + .fetch(StatusParams::new( + StatusType::Both, + self.options.stash_untracked, + )) + .unwrap(); + } } /// @@ -228,7 +230,7 @@ impl Component for Stashing { } fn show(&mut self) { - self.update(); self.visible = true; + self.update(); } } diff --git a/src/tabs/status.rs b/src/tabs/status.rs index 12507cc2..2f53e7cc 100644 --- a/src/tabs/status.rs +++ b/src/tabs/status.rs @@ -190,13 +190,18 @@ impl Status { /// pub fn update(&mut self) { - self.git_diff.refresh().unwrap(); - self.git_status_workdir - .fetch(StatusParams::new(StatusType::WorkingDir, true)) - .unwrap(); - self.git_status_stage - .fetch(StatusParams::new(StatusType::Stage, true)) - .unwrap(); + if self.is_visible() { + self.git_diff.refresh().unwrap(); + self.git_status_workdir + .fetch(StatusParams::new( + StatusType::WorkingDir, + true, + )) + .unwrap(); + self.git_status_stage + .fetch(StatusParams::new(StatusType::Stage, true)) + .unwrap(); + } } ///