[1.187.204] Missing <DisplayName> tag in cubeblock definition causes crash

nukeguard shared this bug 18 months ago
Considered

version 1.187.204 default


Issue: If displayname tag is missing in cubeblock definition there is a crash to desktop if you try and type any alpha numeric character into the block menu search field.


STR

1. create a mod with one block or remove the <DisplayName>BlockName</DisplayName> tag from a block definition.

2. load up any world or new empty world.

3. open block menu with 'g' and click on search box, and type a character.


Observe crash as soon as you type a character.

2018-09-03 12:30:13.233 - Thread: 1 -> Exception occured: System.NullReferenceException: Object reference not set to an instance of an object. at Sandbox.Game.Gui.MySearchByStringCondition.MatchesCondition(MyDefinitionBase itemId) at Sandbox.Game.Gui.MyGuiScreenToolbarConfigBase.AddCubeDefinitionsToBlocks(IMySearchCondition searchCondition) at Sandbox.Game.Gui.MyGuiScreenToolbarConfigBase.UpdateGridBlocksBySearchCondition(IMySearchCondition searchCondition) at Sandbox.Graphics.GUI.MyGuiControlTextbox.OnTextChanged() at Sandbox.Graphics.GUI.MyGuiControlTextbox.InsertChar(Boolean conpositionEnd, Char character) at Sandbox.Graphics.GUI.MyGuiControlTextbox.HandleTextInputBuffered(MyGuiControlBase& ret) at Sandbox.Graphics.GUI.MyGuiControlTextbox.HandleInput() at Sandbox.Graphics.GUI.MyGuiScreenBase.HandleControlsInput(Boolean receivedFocusInThisUpdate) at Sandbox.Graphics.GUI.MyGuiScreenBase.HandleInput(Boolean receivedFocusInThisUpdate) at Sandbox.Game.Gui.MyGuiScreenToolbarConfigBase.HandleInput(Boolean receivedFocusInThisUpdate) at Sandbox.Graphics.GUI.MyScreenManager.HandleInput() at Sandbox.Graphics.GUI.MyDX9Gui.HandleInput() at Sandbox.MySandboxGame.Update() at Sandbox.Engine.Platform.Game.UpdateInternal() at Sandbox.Engine.Platform.Game.RunSingleFrame() at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass1.<Run>b__0() at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback) at Sandbox.Engine.Platform.Game.RunLoop() at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen) at SpaceEngineers.MyProgram.Main(String[] args)

Comments (1)

photo
1

Hello, Engineer!


Thank you for your feedback! Your topic has been added between considered issues.

Please keep voting for the issue as it will help us to identify the most serious bugs.


We really appreciate your patience.


Kind Regards

Keen Software House: QA Department