diff --git a/src/SharpIDE.Godot/Features/CodeEditor/CodeEditorPanel.cs b/src/SharpIDE.Godot/Features/CodeEditor/CodeEditorPanel.cs index ab345c6..7591e24 100644 --- a/src/SharpIDE.Godot/Features/CodeEditor/CodeEditorPanel.cs +++ b/src/SharpIDE.Godot/Features/CodeEditor/CodeEditorPanel.cs @@ -20,7 +20,7 @@ public partial class CodeEditorPanel : MarginContainer public override void _Ready() { _tabContainer = GetNode("TabContainer"); - _tabContainer.RemoveChild(_tabContainer.GetChild(0)); // Remove the default tab + _tabContainer.RemoveChildAndQueueFree(_tabContainer.GetChild(0)); // Remove the default tab _tabContainer.TabClicked += OnTabClicked; var tabBar = _tabContainer.GetTabBar(); tabBar.TabCloseDisplayPolicy = TabBar.CloseButtonDisplayPolicy.ShowAlways; diff --git a/src/SharpIDE.Godot/NodeExtensions.cs b/src/SharpIDE.Godot/NodeExtensions.cs index 2bf96d7..59df6f1 100644 --- a/src/SharpIDE.Godot/NodeExtensions.cs +++ b/src/SharpIDE.Godot/NodeExtensions.cs @@ -43,6 +43,11 @@ public static class NodeExtensions child.QueueFree(); } } + public void RemoveChildAndQueueFree(Node child) + { + node.RemoveChild(child); + child.QueueFree(); + } public Task InvokeAsync(Func workItem) { var taskCompletionSource = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously);