Skip to content

Commit eb18358

Browse files
committed
enhance: prevent requesting revision files more than once time
Signed-off-by: leo <[email protected]>
1 parent d56c6a5 commit eb18358

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/ViewModels/CommitDetail.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ public void Cleanup()
149149
_diffContext = null;
150150
_viewRevisionFileContent = null;
151151
_cancellationSource = null;
152+
_requestingRevisionFiles = false;
152153
_revisionFiles = null;
153154
_revisionFileSearchSuggestion = null;
154155
}
@@ -546,6 +547,7 @@ public ContextMenu CreateRevisionFileContextMenu(Models.Object file)
546547
private void Refresh()
547548
{
548549
_changes = null;
550+
_requestingRevisionFiles = false;
549551
_revisionFiles = null;
550552

551553
SignInfo = null;
@@ -812,16 +814,22 @@ private void RefreshRevisionSearchSuggestion()
812814
{
813815
if (_revisionFiles == null)
814816
{
817+
if (_requestingRevisionFiles)
818+
return;
819+
815820
var sha = Commit.SHA;
821+
_requestingRevisionFiles = true;
816822

817823
Task.Run(() =>
818824
{
819825
var files = new Commands.QueryRevisionFileNames(_repo.FullPath, sha).Result();
820826
Dispatcher.UIThread.Invoke(() =>
821827
{
822-
if (sha == Commit.SHA)
828+
if (sha == Commit.SHA && _requestingRevisionFiles)
823829
{
824830
_revisionFiles = files;
831+
_requestingRevisionFiles = false;
832+
825833
if (!string.IsNullOrEmpty(_revisionFileSearchFilter))
826834
CalcRevisionFileSearchSuggestion();
827835
}
@@ -907,6 +915,7 @@ private Task ResetToParentRevision(Models.Change change)
907915
private DiffContext _diffContext = null;
908916
private object _viewRevisionFileContent = null;
909917
private CancellationTokenSource _cancellationSource = null;
918+
private bool _requestingRevisionFiles = false;
910919
private List<string> _revisionFiles = null;
911920
private string _revisionFileSearchFilter = string.Empty;
912921
private List<string> _revisionFileSearchSuggestion = null;

0 commit comments

Comments
 (0)