Made the applauncher buttons actually disappear when they should, the VOID-ish way, for better or worse.
Made the applauncher buttons actually disappear when they should, the VOID-ish way, for better or worse.

--- a/VOID_Core.cs
+++ b/VOID_Core.cs
@@ -70,6 +70,7 @@
 		public static void Reset()
 		{
 			_instance.StopGUI();
+			_instance.Dispose();
 			_instance = null;
 			_initialized = false;
 		}
@@ -348,18 +349,11 @@
 			}
 		}
 
-		protected ApplicationLauncher.AppScenes appIconVisibleScenes
-		{
-			get
-			{
-				if (this is VOID_EditorCore)
-				{
-					return ApplicationLauncher.AppScenes.VAB | ApplicationLauncher.AppScenes.SPH;
-				}
-				else
-				{
-					return ApplicationLauncher.AppScenes.FLIGHT;
-				}
+		protected virtual ApplicationLauncher.AppScenes appIconVisibleScenes
+		{
+			get
+			{
+				return ApplicationLauncher.AppScenes.FLIGHT;
 			}
 		}
 
@@ -1065,6 +1059,20 @@
 			this.SetIconTexture(this.powerState | this.activeState);
 		}
 
+		public virtual void Dispose()
+		{
+			if (this.AppLauncherButton != null)
+			{
+				ApplicationLauncher.Instance.RemoveModApplication(this.AppLauncherButton);
+				this.AppLauncherButton = null;
+			}
+			if (this.ToolbarButton != null)
+			{
+				this.ToolbarButton.Destroy();
+				this.ToolbarButton = null;
+			}
+		}
+
 		protected enum IconState
 		{
 			PowerOff = 1,

--- a/VOID_EditorCore.cs
+++ b/VOID_EditorCore.cs
@@ -74,6 +74,14 @@
 			}
 		}
 
+		protected override ApplicationLauncher.AppScenes appIconVisibleScenes
+		{
+			get
+			{
+				return ApplicationLauncher.AppScenes.VAB | ApplicationLauncher.AppScenes.SPH;
+			}
+		}
+
 		public VOID_EditorCore() : base()
 		{
 			this._Name = "VOID Editor Core";