@@ -717,11 +717,6 @@ public void SetWatcherEnabled(bool enabled)
717
717
_watcher ? . SetEnabled ( enabled ) ;
718
718
}
719
719
720
- public void SetNeedNavigateToUpstreamHead ( )
721
- {
722
- _needNavigateToUpstreamHead = true ;
723
- }
724
-
725
720
public void MarkBranchesDirtyManually ( )
726
721
{
727
722
if ( _watcher == null )
@@ -778,13 +773,9 @@ public void NavigateToCurrentHead()
778
773
NavigateToCommit ( _currentBranch . Head ) ;
779
774
}
780
775
781
- public void NavigateToCurrentUpstreamHead ( )
776
+ public void NavigateToBranchDelayed ( string branch )
782
777
{
783
- if ( _currentBranch == null || string . IsNullOrEmpty ( _currentBranch . Upstream ) )
784
- return ;
785
- var branch = _branches . Find ( x => x . FullName == _currentBranch . Upstream ) ;
786
- if ( branch != null )
787
- NavigateToCommit ( branch . Head ) ;
778
+ _navigateToBranchDelayed = branch ;
788
779
}
789
780
790
781
public void ClearHistoriesFilter ( )
@@ -1005,12 +996,16 @@ public void RefreshCommits()
1005
996
_histories . IsLoading = false ;
1006
997
_histories . Commits = commits ;
1007
998
_histories . Graph = graph ;
1008
- if ( _needNavigateToUpstreamHead )
999
+
1000
+ if ( ! string . IsNullOrEmpty ( _navigateToBranchDelayed ) )
1009
1001
{
1010
- NavigateToCurrentUpstreamHead ( ) ;
1011
- _needNavigateToUpstreamHead = false ;
1002
+ var branch = _branches . Find ( x => x . FullName == _navigateToBranchDelayed ) ;
1003
+ if ( branch != null )
1004
+ NavigateToCommit ( branch . Head ) ;
1012
1005
}
1013
1006
}
1007
+
1008
+ _navigateToBranchDelayed = string . Empty ;
1014
1009
} ) ;
1015
1010
}
1016
1011
@@ -2607,6 +2602,7 @@ private void AutoFetchImpl(object sender)
2607
2602
private bool _isAutoFetching = false ;
2608
2603
private Timer _autoFetchTimer = null ;
2609
2604
private DateTime _lastFetchTime = DateTime . MinValue ;
2610
- private bool _needNavigateToUpstreamHead = false ;
2605
+
2606
+ private string _navigateToBranchDelayed = string . Empty ;
2611
2607
}
2612
2608
}
0 commit comments