@@ -149,6 +149,7 @@ public void Cleanup()
149
149
_diffContext = null ;
150
150
_viewRevisionFileContent = null ;
151
151
_cancellationSource = null ;
152
+ _requestingRevisionFiles = false ;
152
153
_revisionFiles = null ;
153
154
_revisionFileSearchSuggestion = null ;
154
155
}
@@ -546,6 +547,7 @@ public ContextMenu CreateRevisionFileContextMenu(Models.Object file)
546
547
private void Refresh ( )
547
548
{
548
549
_changes = null ;
550
+ _requestingRevisionFiles = false ;
549
551
_revisionFiles = null ;
550
552
551
553
SignInfo = null ;
@@ -812,16 +814,22 @@ private void RefreshRevisionSearchSuggestion()
812
814
{
813
815
if ( _revisionFiles == null )
814
816
{
817
+ if ( _requestingRevisionFiles )
818
+ return ;
819
+
815
820
var sha = Commit . SHA ;
821
+ _requestingRevisionFiles = true ;
816
822
817
823
Task . Run ( ( ) =>
818
824
{
819
825
var files = new Commands . QueryRevisionFileNames ( _repo . FullPath , sha ) . Result ( ) ;
820
826
Dispatcher . UIThread . Invoke ( ( ) =>
821
827
{
822
- if ( sha == Commit . SHA )
828
+ if ( sha == Commit . SHA && _requestingRevisionFiles )
823
829
{
824
830
_revisionFiles = files ;
831
+ _requestingRevisionFiles = false ;
832
+
825
833
if ( ! string . IsNullOrEmpty ( _revisionFileSearchFilter ) )
826
834
CalcRevisionFileSearchSuggestion ( ) ;
827
835
}
@@ -907,6 +915,7 @@ private Task ResetToParentRevision(Models.Change change)
907
915
private DiffContext _diffContext = null ;
908
916
private object _viewRevisionFileContent = null ;
909
917
private CancellationTokenSource _cancellationSource = null ;
918
+ private bool _requestingRevisionFiles = false ;
910
919
private List < string > _revisionFiles = null ;
911
920
private string _revisionFileSearchFilter = string . Empty ;
912
921
private List < string > _revisionFileSearchSuggestion = null ;
0 commit comments