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

Commit aca3663

Browse files
Attaching and detaching handlers at the right time
1 parent 2f38e6a commit aca3663

File tree

4 files changed

+13
-21
lines changed

4 files changed

+13
-21
lines changed

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -88,18 +88,10 @@ private void MaybeUpdateData()
8888
}
8989
}
9090

91-
public override void OnRepositoryChanged(IRepository oldRepository)
92-
{
93-
base.OnRepositoryChanged(oldRepository);
94-
DetachHandlers(oldRepository);
95-
AttachHandlers(Repository);
96-
}
97-
9891
private void AttachHandlers(IRepository repository)
9992
{
10093
if (repository == null)
10194
return;
102-
10395
repository.OnLocalBranchListChanged += RunUpdateBranchesOnMainThread;
10496
repository.OnCurrentBranchChanged += HandleRepositoryBranchChangeEvent;
10597
repository.OnCurrentRemoteChanged += HandleRepositoryBranchChangeEvent;

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

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,25 @@ public override void OnEnable()
4040
return;
4141

4242
OnStatusUpdate(Repository.CurrentStatus);
43-
Repository.OnStatusChanged += RunStatusUpdateOnMainThread;
43+
AttachHandlers(Repository);
4444
Repository.Refresh();
4545
}
4646

4747
public override void OnDisable()
4848
{
4949
base.OnDisable();
50+
DetachHandlers();
51+
}
52+
53+
private void AttachHandlers(IRepository repository)
54+
{
55+
if (repository == null)
56+
return;
57+
repository.OnStatusChanged += RunStatusUpdateOnMainThread;
58+
}
59+
60+
private void DetachHandlers()
61+
{
5062
if (Repository == null)
5163
return;
5264
Repository.OnStatusChanged -= RunStatusUpdateOnMainThread;

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,6 @@ public override void OnDataUpdate()
8787
public override void OnRepositoryChanged(IRepository oldRepository)
8888
{
8989
base.OnRepositoryChanged(oldRepository);
90-
91-
DetachHandlers(oldRepository);
92-
AttachHandlers(Repository);
9390
}
9491

9592
public override void OnSelectionChange()

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

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,6 @@ public override void OnRepositoryChanged(IRepository oldRepository)
8282
base.OnRepositoryChanged(oldRepository);
8383
gitPathView.OnRepositoryChanged(oldRepository);
8484
userSettingsView.OnRepositoryChanged(oldRepository);
85-
86-
DetachHandlers(oldRepository);
87-
AttachHandlers(Repository);
88-
89-
remoteHasChanged = true;
90-
91-
Refresh();
9285
}
9386

9487
public override void Refresh()
@@ -106,7 +99,6 @@ private void AttachHandlers(IRepository repository)
10699
{
107100
if (repository == null)
108101
return;
109-
110102
repository.OnCurrentRemoteChanged += Repository_OnActiveRemoteChanged;
111103
repository.OnLocksChanged += RunLocksUpdateOnMainThread;
112104
}
@@ -115,7 +107,6 @@ private void DetachHandlers(IRepository repository)
115107
{
116108
if (repository == null)
117109
return;
118-
119110
repository.OnCurrentRemoteChanged -= Repository_OnActiveRemoteChanged;
120111
repository.OnLocksChanged -= RunLocksUpdateOnMainThread;
121112
}

0 commit comments

Comments
 (0)