From d6c72821de9c2611f86721130ed8614e65d160c8 Mon Sep 17 00:00:00 2001 From: kovacsv Date: Sat, 15 Jan 2022 13:00:49 +0100 Subject: [PATCH] Fix crash when drag&dropping non-file object. --- assets/images/ecosystem.svg | 599 ++++++++++++++++++++++++++++++++++++ source/website/utils.js | 5 +- source/website/website.js | 6 +- 3 files changed, 608 insertions(+), 2 deletions(-) create mode 100644 assets/images/ecosystem.svg diff --git a/assets/images/ecosystem.svg b/assets/images/ecosystem.svg new file mode 100644 index 0000000..9634c49 --- /dev/null +++ b/assets/images/ecosystem.svg @@ -0,0 +1,599 @@ + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wavefront (.obj)3D Studio (.3ds)Stereolithography (.stl)Polygon File Format (.ply)GL Transmission Format (.gltf)Object File Format (.off)Rhinoceros 3D (.3dm)Filmbox (.fbx)Collada (.dae)Virtual Reality Modeling (.wrl)3D Manufacturing (.3mf)IFC (.ifc) + Wavefront (.obj)Stereolithography (.stl)Polygon File Format (.ply)GL Transmission Format (.gltf)Object File Format (.off)Rhinoceros 3D (.3dm) + + + obj + 3ds + stl + ply + gltf + glb + off + 3dm + fbx + dae + wrl + 3mf + ifc + obj + stl + ply + gltf + glb + off + 3dm + + diff --git a/source/website/utils.js b/source/website/utils.js index b9edc78..41919df 100644 --- a/source/website/utils.js +++ b/source/website/utils.js @@ -246,7 +246,10 @@ export function GetFilesFromDataTransfer (dataTransfer, onReady) if (getAsEntryFunc !== null) { let entries = []; for (let item of dataTransfer.items) { - entries.push (getAsEntryFunc.call (item)); + let entry = getAsEntryFunc.call (item); + if (entry !== null) { + entries.push (entry); + } } GetFileObjectsFromEntries (entries, (allEntries) => { onReady (allEntries); diff --git a/source/website/website.js b/source/website/website.js index b274321..59a0fb8 100644 --- a/source/website/website.js +++ b/source/website/website.js @@ -398,7 +398,11 @@ export class Website let importer = this.modelLoaderUI.GetImporter (); let fileList = importer.GetFileList ().GetFiles (); for (let i = 0; i < fileList.length; i++) { - extensions.push (fileList[i].extension); + let extension = fileList[i].extension; + if (extension.length === 0) { + extension = '(no ext)'; + } + extensions.push (extension); } let extensionsStr = extensions.join (','); if (importError.code === ImportErrorCode.NoImportableFile) {