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

Commit 8d5b4c4

Browse files
Checking for null trees
1 parent b16c09f commit 8d5b4c4

File tree

2 files changed

+44
-64
lines changed

2 files changed

+44
-64
lines changed

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

Lines changed: 31 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -182,23 +182,6 @@ private void UpdateTreeIcons()
182182
}
183183
}
184184

185-
private void UpdateTreeStyles()
186-
{
187-
if (treeLocals != null && treeLocals.FolderStyle == null)
188-
{
189-
treeLocals.FolderStyle = Styles.Foldout;
190-
treeLocals.TreeNodeStyle = Styles.TreeNode;
191-
treeLocals.ActiveTreeNodeStyle = Styles.TreeNodeActive;
192-
}
193-
194-
if (treeRemotes != null && treeRemotes.FolderStyle == null)
195-
{
196-
treeRemotes.FolderStyle = Styles.Foldout;
197-
treeRemotes.TreeNodeStyle = Styles.TreeNode;
198-
treeRemotes.ActiveTreeNodeStyle = Styles.TreeNodeActive;
199-
}
200-
}
201-
202185
private void OnButtonBarGUI()
203186
{
204187
if (mode == BranchesMode.Default)
@@ -313,67 +296,69 @@ private void OnButtonBarGUI()
313296

314297
private void OnTreeGUI(Rect rect)
315298
{
316-
UpdateTreeStyles();
317-
318299
var initialRect = rect;
319-
var treeHadFocus = treeLocals.SelectedNode != null;
300+
if (treeLocals != null && treeRemotes != null)
301+
{
302+
treeLocals.FolderStyle = Styles.Foldout;
303+
treeLocals.TreeNodeStyle = Styles.TreeNode;
304+
treeLocals.ActiveTreeNodeStyle = Styles.TreeNodeActive;
305+
306+
treeRemotes.FolderStyle = Styles.Foldout;
307+
treeRemotes.TreeNodeStyle = Styles.TreeNode;
308+
treeRemotes.ActiveTreeNodeStyle = Styles.TreeNodeActive;
309+
310+
var treeHadFocus = treeLocals.SelectedNode != null;
320311

321-
rect = treeLocals.Render(initialRect, rect, scroll,
322-
node =>{ },
323-
node => {
312+
rect = treeLocals.Render(initialRect, rect, scroll, node => { }, node => {
324313
if (node.IsFolder)
325314
return;
326315

327-
if(node.IsActive)
316+
if (node.IsActive)
328317
return;
329318

330319
SwitchBranch(node.Path);
331-
},
332-
node => {
320+
}, node => {
333321
if (node.IsFolder)
334322
return;
335323

336324
var menu = CreateContextMenuForLocalBranchNode(node);
337325
menu.ShowAsContext();
338326
});
339327

340-
if (treeHadFocus && treeLocals.SelectedNode == null)
341-
treeRemotes.Focus();
342-
else if (!treeHadFocus && treeLocals.SelectedNode != null)
343-
treeRemotes.Blur();
328+
if (treeHadFocus && treeLocals.SelectedNode == null)
329+
treeRemotes.Focus();
330+
else if (!treeHadFocus && treeLocals.SelectedNode != null)
331+
treeRemotes.Blur();
344332

345-
if (treeLocals.RequiresRepaint)
346-
Redraw();
333+
if (treeLocals.RequiresRepaint)
334+
Redraw();
347335

348-
treeHadFocus = treeRemotes.SelectedNode != null;
336+
treeHadFocus = treeRemotes.SelectedNode != null;
349337

350-
rect.y += Styles.TreePadding;
338+
rect.y += Styles.TreePadding;
351339

352-
rect = treeRemotes.Render(initialRect, rect, scroll,
353-
node => { },
354-
node => {
340+
rect = treeRemotes.Render(initialRect, rect, scroll, node => { }, node => {
355341
if (node.IsFolder)
356342
return;
357343

358344
CheckoutRemoteBranch(node.Path);
359-
},
360-
node => {
345+
}, node => {
361346
if (node.IsFolder)
362347
return;
363348

364349
var menu = CreateContextMenuForRemoteBranchNode(node);
365350
menu.ShowAsContext();
366351
});
367352

368-
if (treeHadFocus && treeRemotes.SelectedNode == null)
369-
treeLocals.Focus();
370-
else if (!treeHadFocus && treeRemotes.SelectedNode != null)
371-
treeLocals.Blur();
353+
if (treeHadFocus && treeRemotes.SelectedNode == null)
354+
treeLocals.Focus();
355+
else if (!treeHadFocus && treeRemotes.SelectedNode != null)
356+
treeLocals.Blur();
372357

373-
if (treeRemotes.RequiresRepaint)
374-
Redraw();
358+
if (treeRemotes.RequiresRepaint)
359+
Redraw();
375360

376-
//Debug.LogFormat("reserving: {0} {1} {2}", rect.y - initialRect.y, rect.y, initialRect.y);
361+
}
377362
GUILayout.Space(rect.y - initialRect.y);
378363
}
379364

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

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -96,30 +96,25 @@ public override void OnGUI()
9696

9797
private void OnTreeGUI(Rect rect)
9898
{
99-
UpdateTreeStyles();
100-
10199
var initialRect = rect;
102-
rect = treeChanges.Render(initialRect, rect, scroll,
103-
node => { },
104-
node => {
105-
},
106-
node => {
107-
});
108-
109-
if (treeChanges.RequiresRepaint)
110-
Redraw();
111-
112-
GUILayout.Space(rect.y - initialRect.y);
113-
}
114-
115-
private void UpdateTreeStyles()
116-
{
117-
if (treeChanges != null && treeChanges.FolderStyle == null)
100+
if (treeChanges != null)
118101
{
119102
treeChanges.FolderStyle = Styles.Foldout;
120103
treeChanges.TreeNodeStyle = Styles.TreeNode;
121104
treeChanges.ActiveTreeNodeStyle = Styles.TreeNodeActive;
105+
106+
rect = treeChanges.Render(initialRect, rect, scroll,
107+
node => { },
108+
node => {
109+
},
110+
node => {
111+
});
112+
113+
if (treeChanges.RequiresRepaint)
114+
Redraw();
122115
}
116+
117+
GUILayout.Space(rect.y - initialRect.y);
123118
}
124119

125120
private void RepositoryOnStatusEntriesChanged(CacheUpdateEvent cacheUpdateEvent)

0 commit comments

Comments
 (0)