Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 955cb70

Browse files
Updating branches after enabled
1 parent 76e6229 commit 955cb70

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

src/UnityExtension/Assets/Editor/GitHub.Unity/UI/BranchesView.cs

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class BranchesView : Subview
4444
[NonSerialized] private BranchTreeNode newNodeSelection;
4545
[NonSerialized] private BranchesMode targetMode;
4646
[NonSerialized] private bool favoritesHasChanged;
47+
[NonSerialized] private bool branchesHasChanged;
4748

4849
[SerializeField] private BranchTreeNode activeBranchNode;
4950
[SerializeField] private BranchTreeNode localRoot;
@@ -65,6 +66,7 @@ public override void OnEnable()
6566
base.OnEnable();
6667
AttachHandlers(Repository);
6768
favoritesHasChanged = true;
69+
branchesHasChanged = true;
6870
}
6971

7072
public override void OnDisable()
@@ -86,6 +88,12 @@ private void MaybeUpdateData()
8688
favoritesList = Manager.LocalSettings.Get(FavoritesSetting, new List<string>());
8789
favoritesHasChanged = false;
8890
}
91+
92+
if (branchesHasChanged)
93+
{
94+
RunRefreshEmbeddedOnMainThread();
95+
branchesHasChanged = false;
96+
}
8997
}
9098

9199
public override void OnRepositoryChanged(IRepository oldRepository)
@@ -114,22 +122,15 @@ private void DetachHandlers(IRepository repository)
114122
repository.OnCurrentRemoteChanged -= HandleRepositoryBranchChangeEvent;
115123
}
116124

117-
private void RunRefreshEmbeddedOnMainThread()
118-
{
119-
new ActionTask(TaskManager.Token, _ => RefreshEmbedded())
120-
.ScheduleUI(TaskManager);
121-
}
122-
123125
private void HandleRepositoryBranchChangeEvent(string obj)
124126
{
125127
RunRefreshEmbeddedOnMainThread();
126128
}
127129

128-
public override void Refresh()
130+
private void RunRefreshEmbeddedOnMainThread()
129131
{
130-
base.Refresh();
131-
132-
RefreshEmbedded();
132+
new ActionTask(TaskManager.Token, _ => RefreshEmbedded())
133+
.ScheduleUI(TaskManager);
133134
}
134135

135136
public void RefreshEmbedded()
@@ -297,9 +298,9 @@ private void OnLocalBranchesUpdate(IEnumerable<GitBranch> list)
297298
newLocalBranches = new List<GitBranch>(list);
298299
}
299300

300-
private void OnRemoteBranchesUpdate(IEnumerable<GitBranch> list)
301+
private void OnRemoteBranchesUpdate(IEnumerable<GitBranch> newRemoteBranches)
301302
{
302-
BuildTree(newLocalBranches, list);
303+
BuildTree(newLocalBranches, newRemoteBranches);
303304
newLocalBranches.Clear();
304305
}
305306

0 commit comments

Comments
 (0)