Skip to content

Commit 6538f64

Browse files
authored
fix: Fix NullReferenceException when disabling a flag on SignalingManager inspector (#935)
* fix * fix
1 parent 8289073 commit 6538f64

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

com.unity.renderstreaming/Editor/SignalingManagerEditor.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ internal class SignalingManagerEditor : UnityEditor.Editor
3333

3434
private void OnEnable()
3535
{
36+
EditorApplication.projectChanged += OnProjectChanged;
37+
3638
m_UseDefault = serializedObject.FindProperty(SignalingManager.UseDefaultPropertyName);
3739
m_SignalingSettingsObject = serializedObject.FindProperty(SignalingManager.SignalingSettingsObjectPropertyName);
3840
m_SignalingSettings = serializedObject.FindProperty(SignalingManager.SignalingSettingsPropertyName);
@@ -41,6 +43,11 @@ private void OnEnable()
4143
m_EvaluateCommandlineArguments = serializedObject.FindProperty(SignalingManager.EvaluateCommandlineArgumentsPropertyName);
4244
}
4345

46+
private void OnDisable()
47+
{
48+
EditorApplication.projectChanged -= OnProjectChanged;
49+
}
50+
4451
public override VisualElement CreateInspectorGUI()
4552
{
4653
root = new VisualElement();
@@ -72,8 +79,6 @@ public override VisualElement CreateInspectorGUI()
7279
root.Add(new PropertyField(m_RunOnAwake, "Run On Awake"));
7380
root.Add(new PropertyField(m_EvaluateCommandlineArguments, "Evaluate Commandline Arguments"));
7481

75-
EditorApplication.projectChanged += OnProjectChanged;
76-
7782
// Disable UI when running in Playmode
7883
EditorApplication.playModeStateChanged += OnPlayModeStateChanged;
7984
if (EditorApplication.isPlaying)
@@ -146,6 +151,8 @@ private void OnPlayModeStateChanged(PlayModeStateChange e)
146151

147152
private void OnProjectChanged()
148153
{
154+
if (root == null)
155+
return;
149156
var paths = GetAvailableSignalingSettingsPath();
150157

151158
// Force to use default settings if there are no available settings in project folder.
@@ -168,7 +175,6 @@ private void OnProjectChanged()
168175
}
169176
signalingSettingsPopupField.choices = availableObjects.ToList();
170177
signalingSettingsPopupField.index = defaultIndex;
171-
172178
}
173179

174180
private void OnClickedOpenProjectSettingsButton()

0 commit comments

Comments
 (0)