Search Issue Tracker

Fixed in 7.4.0

Votes

0

Found in [Package]

7.0.0, 7.1.8, 7.2.1, 7.3.1, 8.0.1

Issue ID

1234725

Regression

No

[HDRP] ArgumentNullException thrown on removing "Empty Environment" after Undo operation is performed on it earlier

Package: SRP HD Template

-

When the "Empty Environment" is added to "Environment Library" in the "Look Dev" window and Undo operation is performed, after removing same environment causes editor to throw ArgumentNullException in the Console, Refer attached video

Steps to repro:
1. Create a new project with HDRP Template
2. Window > Render Pipeline > Look Dev
3. Select the "Environment" tab > New Library > Load Library
4. Add new empty environment (+)
5. Edit > Undo Remove Environment
6. Remove Empty Environment (-)

Actual Result:
ArgumentNullException thrown on Removing "Empty Environment" under "Environment Library" when Undo operation is already performed

Expected Result:
"Empty Environment" gets removed gracefully

Note: "Look Dev" window is introduced in Unity 2019.3.0a12

Reproducible in:
2020.2.0a7, 2020.1.0b5, 2019.3.8f1, 2019.3.0a12

Package version found: 8.0.1, 7.3.1, 7.2.1, 7.1.8, 7.1.1, 7.0.0

Environment:
Windows 10 and macOS 10.14

Stack trace:
ArgumentNullException: Value cannot be null.
Parameter name: objectToUndo
UnityEditor.Undo.DestroyObjectImmediate (UnityEngine.Object objectToUndo) (at <92f998fbb4ca4d8dab7793d6e003b794>:0)
UnityEditor.Rendering.LookDev.EnvironmentLibrary.Remove (System.Int32 index) (at Library/PackageCache/com.unity.render-pipelines.core@8.0.1/Editor/LookDev/EnvironmentLibrary.cs:60)
UnityEditor.Rendering.LookDev.DisplayWindow.<CreateEnvironment>b__39_8 () (at Library/PackageCache/com.unity.render-pipelines.core@8.0.1/Editor/LookDev/DisplayWindow.EnvironmentLibrarySidePanel.cs:161)
UnityEngine.UIElements.Clickable.Invoke (UnityEngine.UIElements.EventBase evt) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.Clickable.ProcessUpEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.Vector2 localPosition, System.Int32 pointerId) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.Clickable.OnMouseUp (UnityEngine.UIElements.MouseUpEvent evt) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.EventCallbackFunctor`1[TEventType].Invoke (UnityEngine.UIElements.EventBase evt) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.EventCallbackRegistry.InvokeCallbacks (UnityEngine.UIElements.EventBase evt) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.CallbackEventHandler.HandleEvent (UnityEngine.UIElements.EventBase evt) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.CallbackEventHandler.HandleEventAtTargetPhase (UnityEngine.UIElements.EventBase evt) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.MouseCaptureDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.EventDispatcher.OpenGate () (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.EventDispatcherGate.Dispose () (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at <e40488dcb2e3475fad9ef37a4468eea0>:0)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at <faa31f22dbbe43159226eb3a4f009ff2>:0)

  1. Resolution Note (fix version 7.4.0):

    Verified in PR ✔

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.