@@ -24,16 +24,15 @@ public class PullRequestStatusBarManager
2424 const string StatusBarPartName = "PART_SccStatusBarHost" ;
2525
2626 readonly IVSGitExt gitExt ;
27- readonly Lazy < IPullRequestSessionManager > pullRequestSessionManager ;
2827 readonly IUsageTracker usageTracker ;
2928 readonly IGitHubServiceProvider serviceProvider ;
3029
30+ IPullRequestSessionManager pullRequestSessionManager ;
31+
3132 [ ImportingConstructor ]
32- public PullRequestStatusBarManager ( IVSGitExt gitExt , Lazy < IPullRequestSessionManager > pullRequestSessionManager ,
33- IUsageTracker usageTracker , IGitHubServiceProvider serviceProvider )
33+ public PullRequestStatusBarManager ( IVSGitExt gitExt , IUsageTracker usageTracker , IGitHubServiceProvider serviceProvider )
3434 {
3535 this . gitExt = gitExt ;
36- this . pullRequestSessionManager = pullRequestSessionManager ;
3736 this . usageTracker = usageTracker ;
3837 this . serviceProvider = serviceProvider ;
3938
@@ -56,8 +55,11 @@ async Task StartShowingStatus()
5655 {
5756 await ThreadingHelper . SwitchToMainThreadAsync ( ) ; // Switch from VSGitExt to Main thread
5857
58+ // Create just in time on Main thread.
59+ pullRequestSessionManager = serviceProvider . GetService < IPullRequestSessionManager > ( ) ;
60+
5961 RefreshCurrentSession ( ) ;
60- pullRequestSessionManager . Value . PropertyChanged += PullRequestSessionManager_PropertyChanged ;
62+ pullRequestSessionManager . PropertyChanged += PullRequestSessionManager_PropertyChanged ;
6163 }
6264 catch ( Exception e )
6365 {
@@ -75,7 +77,7 @@ void PullRequestSessionManager_PropertyChanged(object sender, PropertyChangedEve
7577
7678 void RefreshCurrentSession ( )
7779 {
78- var pullRequest = pullRequestSessionManager . Value . CurrentSession ? . PullRequest ;
80+ var pullRequest = pullRequestSessionManager . CurrentSession ? . PullRequest ;
7981 var viewModel = pullRequest != null ? CreatePullRequestStatusViewModel ( pullRequest ) : null ;
8082 ShowStatus ( viewModel ) ;
8183 }
0 commit comments