diff --git a/ShareX.HelpersLib/Controls/TabToTreeView.cs b/ShareX.HelpersLib/Controls/TabToTreeView.cs index 38e457917..f15abfacc 100644 --- a/ShareX.HelpersLib/Controls/TabToTreeView.cs +++ b/ShareX.HelpersLib/Controls/TabToTreeView.cs @@ -148,25 +148,23 @@ private void tvMain_AfterSelect(object sender, TreeViewEventArgs e) { if (AutoSelectChild && tabPage.Controls.Count == 1 && tabPage.Controls[0] is TabControl) { - SelectChild(); + SelectChildNode(); } else { - SelectTab(tabPage); + SelectTabPage(tabPage); } } } - private void SelectTab(TabPage tabPage) + private void SelectTabPage(TabPage tabPage) { if (tabPage != null) { - tvMain.BeginUpdate(); tcMain.Visible = true; tcMain.TabPages.Clear(); tcMain.TabPages.Add(tabPage); tvMain.Focus(); - tvMain.EndUpdate(); OnTabChanged(tabPage); } @@ -189,11 +187,13 @@ public void NavigateToTabPage(TabPage tabPage) } } - public void SelectChild() + public void SelectChildNode() { - if (tvMain.SelectedNode.Nodes.Count > 0) + TreeNode node = tvMain.SelectedNode; + + if (node != null && node.Nodes.Count > 0) { - tvMain.SelectedNode = tvMain.SelectedNode.Nodes[0]; + tvMain.SelectedNode = node.Nodes[0]; } } diff --git a/ShareX/Forms/TaskSettingsForm.cs b/ShareX/Forms/TaskSettingsForm.cs index f644f42b3..f9440f4da 100644 --- a/ShareX/Forms/TaskSettingsForm.cs +++ b/ShareX/Forms/TaskSettingsForm.cs @@ -415,7 +415,7 @@ private void tttvMain_TabChanged(TabPage tabPage) { if (IsDefault && tabPage == tpUploadMain) { - tttvMain.SelectChild(); + tttvMain.SelectChildNode(); } }