Search Issue Tracker

Fixed

Votes

0

Found in

2023.2.3f1

2023.3.0a19

2024.1.0a1

Issue ID

UUM-58881

Regression

Yes

[Error] ARC window is broken when deleting an ARC

--

-

If the user deletes an ARC while the ARC window is invisible, i.e. not the active tab in the docking area, the ARC window becomes inaccessible, throwing null reference errors when trying to switch to it.

*Regression details*

I could reproduce it on 2023.2.0b16 but not on 2023.2.0b10

*Repro*
# Create an ARC asset (Assets > Create > Audio > Audio Random Container).
# Open the ARC asset.
# Dock the ARC window next to the scene view.
# Switch to the scene view tab.
# Delete the ARC asset.
# Switch back to the ARC window tab.

Expected: The ARC window becomes the displayed active window and no errors get thrown in the Console.

Actual: The ARC window is not displayed and errors get thrown in the Console.

*Stack trace (1/3)*

Thrown every frame while the ARC window is trying to be active.
{code:java}
NullReferenceException: Object reference not set to an instance of an object
UnityEditor.UIElements.BindingsStyleHelpers.UpdateElementRecursively (UnityEngine.UIElements.VisualElement element, UnityEditor.SerializedProperty prop, System.Action`2[T1,T2] updateCallback) (at /Users/bokken/build/output/unity/unity/Editor/Mono/UIElements/Bindings/BindingStyleHelpers.cs:58)
UnityEditor.UIElements.BindingsStyleHelpers.UpdatePrefabStateStyle (UnityEngine.UIElements.VisualElement element, UnityEditor.SerializedProperty prop) (at /Users/bokken/build/output/unity/unity/Editor/Mono/UIElements/Bindings/BindingStyleHelpers.cs:200)
UnityEditor.UIElements.Bindings.SerializedObjectBindingToBaseField`2[TValue,TField].OnUpdate (UnityEngine.UIElements.BindingContext& context) (at /Users/bokken/build/output/unity/unity/Modules/UIElementsEditor/Bindings/BindingExtensions.cs:1732)
UnityEditor.UIElements.Bindings.SerializedObjectBindingBase.Update (UnityEngine.UIElements.BindingContext& context) (at /Users/bokken/build/output/unity/unity/Modules/UIElementsEditor/Bindings/BindingExtensions.cs:1306)
UnityEngine.UIElements.BindingUpdater.UpdateUI (UnityEngine.UIElements.BindingContext& context, UnityEngine.UIElements.CustomBinding customBinding) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Bindings/BindingUpdater.cs:191)
UnityEngine.UIElements.BindingUpdater.UpdateUI (UnityEngine.UIElements.BindingContext& context, UnityEngine.UIElements.Binding bindingObject) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Bindings/BindingUpdater.cs:123)
UnityEngine.UIElements.VisualTreeDataBindingsUpdater.Update () (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Bindings/VisualTreeDataBindingUpdater.cs:209)
UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/VisualTreeUpdater.cs:114)
UnityEngine.UIElements.Panel.UpdateDataBinding () (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Panel.cs:1161)
UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.UpdateSchedulers () (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/UIElementsUtility.cs:275)
UnityEngine.UIElements.UIEventRegistration.UpdateSchedulers () (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/UIElementsUtility.cs:105)
UnityEditor.RetainedMode.UpdateSchedulers () (at /Users/bokken/build/output/unity/unity/Modules/UIElementsEditor/RetainedMode.cs:55)
{code}
*Stack trace (2/3)*

Thrown when you hover over the window where the ARC should be, as if it is trying to redraw it.
{code:java}
NullReferenceException: Object reference not set to an instance of an object
UnityEditor.UIElements.BindingsStyleHelpers.UpdateElementRecursively (UnityEngine.UIElements.VisualElement element, UnityEditor.SerializedProperty prop, System.Action`2[T1,T2] updateCallback) (at /Users/bokken/build/output/unity/unity/Editor/Mono/UIElements/Bindings/BindingStyleHelpers.cs:58)
UnityEditor.UIElements.BindingsStyleHelpers.UpdatePrefabStateStyle (UnityEngine.UIElements.VisualElement element, UnityEditor.SerializedProperty prop) (at /Users/bokken/build/output/unity/unity/Editor/Mono/UIElements/Bindings/BindingStyleHelpers.cs:200)
UnityEditor.UIElements.Bindings.SerializedObjectBindingToBaseField`2[TValue,TField].OnUpdate (UnityEngine.UIElements.BindingContext& context) (at /Users/bokken/build/output/unity/unity/Modules/UIElementsEditor/Bindings/BindingExtensions.cs:1732)
UnityEditor.UIElements.Bindings.SerializedObjectBindingBase.Update (UnityEngine.UIElements.BindingContext& context) (at /Users/bokken/build/output/unity/unity/Modules/UIElementsEditor/Bindings/BindingExtensions.cs:1306)
UnityEngine.UIElements.BindingUpdater.UpdateUI (UnityEngine.UIElements.BindingContext& context, UnityEngine.UIElements.CustomBinding customBinding) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Bindings/BindingUpdater.cs:191)
UnityEngine.UIElements.BindingUpdater.UpdateUI (UnityEngine.UIElements.BindingContext& context, UnityEngine.UIElements.Binding bindingObject) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Bindings/BindingUpdater.cs:123)
UnityEngine.UIElements.VisualTreeDataBindingsUpdater.Update () (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Bindings/VisualTreeDataBindingUpdater.cs:209)
UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/VisualTreeUpdater.cs:114)
UnityEngine.UIElements.Panel.UpdateForRepaint () (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Panel.cs:1184)
UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Panel.cs:1252)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/UIElementsUtility.cs:475)
UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/UIElementsUtility.cs:225)
UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/UIElementsUtility.cs:74)
UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/UIElementsUtility.cs:28)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:206)
{code}
*Stack trace (3/3)*

Thrown when right-clicking on the ARC tab.
{code:java}
NullReferenceException: Object reference not set to an instance of an object UnityEditor.UIElements.BindingsStyleHelpers.UpdateElementRecursively (UnityEngine.UIElements.VisualElement element, UnityEditor.SerializedProperty prop, System.Action`2[T1,T2] updateCallback) (at /Users/bokken/build/output/unity/unity/Editor/Mono/UIElements/Bindings/BindingStyleHelpers.cs:58) UnityEditor.UIElements.BindingsStyleHelpers.UpdatePrefabStateStyle (UnityEngine.UIElements.VisualElement element, UnityEditor.SerializedProperty prop) (at /Users/bokken/build/output/unity/unity/Editor/Mono/UIElements/Bindings/BindingStyleHelpers.cs:200) UnityEditor.UIElements.Bindings.SerializedObjectBindingToBaseField`2[TValue,TField].OnUpdate (UnityEngine.UIElements.BindingContext& context) (at /Users/bokken/build/output/unity/unity/Modules/UIElementsEditor/Bindings/BindingExtensions.cs:1732) UnityEditor.UIElements.Bindings.SerializedObjectBindingBase.Update (UnityEngine.UIElements.BindingContext& context) (at /Users/bokken/build/output/unity/unity/Modules/UIElementsEditor/Bindings/BindingExtensions.cs:1306) UnityEngine.UIElements.BindingUpdater.UpdateUI (UnityEngine.UIElements.BindingContext& context, UnityEngine.UIElements.CustomBinding customBinding) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Bindings/BindingUpdater.cs:191) UnityEngine.UIElements.BindingUpdater.UpdateUI (UnityEngine.UIElements.BindingContext& context, UnityEngine.UIElements.Binding bindingObject) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Bindings/BindingUpdater.cs:123) UnityEngine.UIElements.VisualTreeDataBindingsUpdater.Update () (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Bindings/VisualTreeDataBindingUpdater.cs:209) UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/VisualTreeUpdater.cs:114) UnityEngine.UIElements.Panel.UpdateForRepaint () (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Panel.cs:1184) UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/Panel.cs:1252) UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/UIElementsUtility.cs:475) UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/UIElementsUtility.cs:225) UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/UIElementsUtility.cs:74) UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at /Users/bokken/build/output/unity/unity/Modules/UIElements/Core/UIElementsUtility.cs:28) UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:206) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) (at /Users/bokken/build/output/unity/unity/Modules/IMGUI/GUIUtility.cs:206) {code}

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.