deepnight / ldtk

Modern, lightweight and efficient 2D level editor
https://ldtk.io
MIT License
3.39k stars 188 forks source link

Crash report #1049

Closed ykt-dev closed 9 months ago

ykt-dev commented 9 months ago

Crashes when enum name is set to empty string. All other name fields (in layers, entities, etc) reset themselves if cleared, but this one crashes instead

https://github.com/deepnight/ldtk/assets/147815609/435710ea-a342-4035-8b85-e26e1a3ccf68

Stack:

LDtk version: 1.5.2-64bits
id.replace is not a function
TypeError
TypeError: id.replace is not a function
    at data_Project.cleanupIdentifier (file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:34929:10)
    at data_Definitions.isEnumIdentifierUnique (file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:32851:21)
    at file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:304378:40
    at data_Project.fixUniqueIdStr (file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:35181:11)
    at i.fixValue (file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:304377:34)
    at form_input_StringInput.onInputChange (file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:128576:19)
    at HTMLInputElement.<anonymous> (file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:128430:10)
    at HTMLInputElement.dispatch (C:\Users\user\AppData\Local\Programs\ldtk\resources\app.asar\assets\js\jquery.min.js:2:43064)
    at v.handle (C:\Users\user\AppData\Local\Programs\ldtk\resources\app.asar\assets\js\jquery.min.js:2:41048)

Processes:

#0 App
 |--- #3 page.Editor
       |--- #4 misc.FileWatcher
       |--- #5 display.WorldRender
       |--- #6 display.LevelRender
       |--- #7 display.Camera
       |--- #8 display.Rulers[--]
       |--- #9 tool.SelectionTool[--]
       |--- #10 tool.lt.DoNothing[--]
       |--- #11 WorldTool
       |--- #12 tool.PanView[--]
       |--- #13 tool.lt.IntGridTool[--]
       |--- #16 ui.modal.panel.EditEnumDefs

Log:

[CACHE]         -> identified as Png
[CACHE]         -> base64 497792
[CACHE]         -> pixels 2016x1568
[FILE]          -> Loaded 373344 bytes.
[FILE]          -> Decoded 2016x1568 pixels.
[FILE]          -> Old size: 2016x1568 -> 2016x1568
[WARNING]      Tileset blobs remapping (image size changed)...
[FILE]          -> Reload result: Ok
[FILE]          -> pixelData: Ok
[EVENT]        TilesetImageLoaded
[FILE]         Reloading tileset: tileset path=tilesets/collage.png
[FILE]         Loading atlas image: tilesets/collage.png...
[CACHE]        Caching image tilesets/collage.png...
[CACHE]         -> identified as Png
[CACHE]         -> base64 3431880
[CACHE]         -> pixels 7616x5120
[FILE]          -> Loaded 2573910 bytes.
[FILE]          -> Decoded 7616x5120 pixels.
[FILE]          -> Old size: 7616x5120 -> 7616x5120
[WARNING]      Tileset tileset remapping (image size changed)...
[FILE]          -> Reload result: Ok
[FILE]          -> pixelData: Ok
[EVENT]        TilesetImageLoaded
[EVENT]        ProjectSelected
[WARNING]      Full level render requested
[RENDER]       Rendering all world...
[RENDER]       Rendering world bg...
[RENDER]       Rendering world bounds...
[FILE]         Watching file: C:/Users/user/Desktop/dev/ldtk/tilesets/blobs_packed.png
[FILE]         Watching file: C:/Users/user/Desktop/dev/ldtk/tilesets/collage.png
[RENDER]       Rendering world level data.Level#676d50f0-b0a0-11ee-ae60-3b49b9119233 "level_0"...
[RENDER]       Rendering world level fields data.Level#676d50f0-b0a0-11ee-ae60-3b49b9119233 "level_0"...
[RENDER]       Rendered level UI
[RENDER]       Rendering world bg...
[GENERAL]      Progress completed: "prj.ldtk: Project..." (7s)
[RENDER]       Rendering world bg...
[RENDER]       Rendering world bg...
[USERACTION]   Opened panel #16 ui.modal.panel.EditEnumDefs
[FILE]         Loading HTML template editEnumDefs
[RENDER]       Rendering world bg...
[RENDER]       Rendering world bg...
[RENDER]       Rendering world bg...
[GENERAL]      Page started: page.CrashReport()
[FILE]         Loading page template: crashReport from C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/tpl/pages/crashReport.html
[ERROR]        id.replace is not a function (TypeError)
[ERROR]        TypeError: id.replace is not a function
    at data_Project.cleanupIdentifier (file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:34929:10)
    at data_Definitions.isEnumIdentifierUnique (file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:32851:21)
    at file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:304378:40
    at data_Project.fixUniqueIdStr (file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:35181:11)
    at i.fixValue (file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:304377:34)
    at form_input_StringInput.onInputChange (file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:128576:19)
    at HTMLInputElement.<anonymous> (file:///C:/Users/user/AppData/Local/Programs/ldtk/resources/app.asar/assets/js/renderer.js:128430:10)
    at HTMLInputElement.dispatch (C:\Users\user\AppData\Local\Programs\ldtk\resources\app.asar\assets\js\jquery.min.js:2:43064)
    at v.handle (C:\Users\user\AppData\Local\Programs\ldtk\resources\app.asar\assets\js\jquery.min.js:2:41048)

[GENERAL]      
#0 App
 |--- #3 page.Editor
       |--- #4 misc.FileWatcher
       |--- #5 display.WorldRender
       |--- #6 display.LevelRender
       |--- #7 display.Camera
       |--- #8 display.Rulers[--]
       |--- #9 tool.SelectionTool[--]
       |--- #10 tool.lt.DoNothing[--]
       |--- #11 WorldTool
       |--- #12 tool.PanView[--]
       |--- #13 tool.lt.IntGridTool[--]
       |--- #16 ui.modal.panel.EditEnumDefs
 |--- #19 page.CrashReport

[FILE]         Cleared all file watches
deepnight commented 9 months ago

Fixed (duplicate #1051)