Search Issue Tracker
Not Reproducible
Votes
1
Found in
2019.4
2020.3
2020.3.22f1
2021.2
2022.1
2022.2
Issue ID
1393672
Regression
No
NullReferenceException thrown and mouse breaks when calling EditorUtiliy.DisplayDialog in GridBrush.BoxFill/GridBrush.BoxErase
Reproduction steps:
1. Open the attached project "1393672repro.zip"
2. Open "SampleScene"
3. Select "Tilemap" in the Hierarchy window
4. Select "Paint with active brush" in the Tile Palette window
5. Click anywhere in the Scene view
6. Close the DisplayDialog, click outside of the Scene view
7. Try to switch from Project window to Console
Expected result: No errors are thrown
Actual result: NullReferenceException is thrown, clicking outside of Scene view makes DisplayDialog pop up, switching tabs takes an extra click
Reproducible with: 2019.4.36f1, 2020.3.30f1, 2021.2.15f1, 2022.1.0b11, 2022.2.0a7
Notes:
1. Not reproducible on macOS
2. To stop DisplayDialog from popping up outside of the Scene view, click outside of the Editor, then go back to the Editor
3. In 2022.1.0b11 and 2022.2.0a7, there is no exception or DisplayDialog popping up outside of Scene view but switching tabs is not possible after closing DisplayDialog
4. In 2021.2.15f1, clicking outside of Scene view does not make DisplayDialog pop up but the exception is thrown and switching tabs is not possible
5. In 2019.4.36f1, the exception is not thrown but clicking outside of Scene view makes DisplayDialog pop up
Comments (1)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Crash on "The GUID inside 'Assets/asset.png.meta' cannot be extracted by the YAML Parser." when opening the project
- Shadows disappear when looking at a certain angle in Scene view and using Cloud Shadows with Volumetric Clouds
- StackOverflowException freezes or silently crashes the Editor
- Microsoft Surface Device freezes when detaching and reattaching physical keyboard attachment to a Microsoft Surface device in Standalone Player for Windows
- Shadows are cast with artifacts on GameObjects when the light type is set to Point
ai-kut-to
Mar 18, 2022 06:42
As a workaround I am using the method below while waiting for a fix:
- When a BoxFill command comes. It is handled by a coroutine so called FillCoroutine().
- FillCoroutine waits for the mouseUp if it needs to show a DialogBox for the designer for a potential paint mistake. For catching the mouseUp I used the "bool executing" parameter of OnPaintSceneGUI method.
My theory is that for some reason if you trigger dialogBox -via EditorUtility.DisplayDialog- before the mouseUp event occurs -when painting onto grid- some values are not set and you get a NullRefException.
Note: Clicking around the editor 1-2 times restores the state and you can continue your work as a designer. BUT it occasioanly crashes the Unity too. And that makes the designers work to be lost when not working with autosave option enabled on prefabs.