Removed redundant button enabled check within the FlightAppLauncher.
Removed redundant button enabled check within the FlightAppLauncher.

--- a/KerbalEngineer.Unity/CanvasGroupFader.cs
+++ b/KerbalEngineer.Unity/CanvasGroupFader.cs
@@ -100,8 +100,10 @@
                 yield return null;
             }
 
-            //print(m_CanvasGroup.alpha);
-            callback?.Invoke();
+            if (callback != null)
+            {
+                callback.Invoke();
+            }
 
             m_FadeCoroutine = null;
         }

--- a/KerbalEngineer.Unity/Setting.cs
+++ b/KerbalEngineer.Unity/Setting.cs
@@ -78,7 +78,10 @@
 
         protected virtual void Update()
         {
-            m_OnUpdate?.Invoke();
+            if (m_OnUpdate != null)
+            {
+                m_OnUpdate.Invoke();
+            }
         }
 
         private static void SetButton(GameObject buttonObject, UnityAction onClick)

--- a/KerbalEngineer.Unity/UI/StyleApplicator.cs
+++ b/KerbalEngineer.Unity/UI/StyleApplicator.cs
@@ -100,11 +100,15 @@
         {
             SetSelectable(textStyle, normal, highlight, pressed, disabled);
 
-            Image toggleImage = GetComponent<Toggle>()?.graphic as Image;
-            if (toggleImage != null)
+            Toggle toggleComponent = GetComponent<Toggle>();
+            if (toggleComponent != null)
             {
-                toggleImage.sprite = pressed;
-                toggleImage.type = Image.Type.Sliced;
+                Image toggleImage = toggleComponent.graphic as Image;
+                if (toggleImage != null)
+                {
+                    toggleImage.sprite = pressed;
+                    toggleImage.type = Image.Type.Sliced;
+                }
             }
         }
 

--- a/KerbalEngineer.Unity/UI/Window.cs
+++ b/KerbalEngineer.Unity/UI/Window.cs
@@ -159,7 +159,10 @@
                 yield return null;
             }
 
-            callback?.Invoke();
+            if (callback != null)
+            {
+                callback.Invoke();
+            }
 
             m_ScaleFadeCoroutine = null;
         }

--- a/KerbalEngineer/Flight/FlightAppLauncher.cs
+++ b/KerbalEngineer/Flight/FlightAppLauncher.cs
@@ -179,14 +179,11 @@
 
         protected virtual void Update()
         {
-            if (Button == null)
-                return;
-
-            if (FlightEngineerCore.IsDisplayable && Button.IsEnabled == false)
+            if (FlightEngineerCore.IsDisplayable)
             {
                 Enable();
             }
-            else if (FlightEngineerCore.IsDisplayable == false && Button.IsEnabled)
+            else if (FlightEngineerCore.IsDisplayable == false)
             {
                 Disable();
             }

--- a/KerbalEngineer/Flight/FlightEngineerCore.cs
+++ b/KerbalEngineer/Flight/FlightEngineerCore.cs
@@ -291,7 +291,9 @@
         private void FixedUpdate()
         {
             if (FlightGlobals.ActiveVessel == null)
+            {
                 return;
+            }
 
             try
             {
@@ -355,7 +357,9 @@
         private void Update()
         {
             if (FlightGlobals.ActiveVessel == null)
+            {
                 return;
+            }
 
             try
             {

--- a/KerbalEngineer/VesselSimulator/PartSim.cs
+++ b/KerbalEngineer/VesselSimulator/PartSim.cs
@@ -777,7 +777,8 @@
 
         private bool IsDecoupler(Part thePart)
         {
-            return thePart.GetProtoModuleDecoupler()?.IsStageEnabled ?? false;
+            PartExtensions.ProtoModuleDecoupler protoDecoupler = thePart.GetProtoModuleDecoupler();
+            return protoDecoupler != null && protoDecoupler.IsStageEnabled;
         }
 
         private bool IsSepratron()