From 895db142ee9224e1b8e4d2fc6348dc1801bea0dc Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Thu, 26 Jun 2025 20:43:06 +0300 Subject: #4291 Uploading without a .bin silently fails --- indra/newview/gltf/llgltfloader.cpp | 14 ++++++++++++++ .../newview/skins/default/xui/en/floater_model_preview.xml | 4 +++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/indra/newview/gltf/llgltfloader.cpp b/indra/newview/gltf/llgltfloader.cpp index 039c0b561e..7ae255e054 100644 --- a/indra/newview/gltf/llgltfloader.cpp +++ b/indra/newview/gltf/llgltfloader.cpp @@ -129,6 +129,20 @@ bool LLGLTFLoader::OpenFile(const std::string &filename) if (!mGltfLoaded) { notifyUnsupportedExtension(true); + + for (const auto& buffer : mGLTFAsset.mBuffers) + { + if (buffer.mByteLength > 0 && buffer.mData.empty()) + { + bool bin_file = buffer.mUri.ends_with(".bin"); + LLSD args; + args["Message"] = bin_file ? "ParsingErrorMissingBufferBin" : "ParsingErrorMissingBuffer"; + args["BUFFER_NAME"] = buffer.mName; + args["BUFFER_URI"] = buffer.mUri; + mWarningsArray.append(args); + } + } + setLoadState(ERROR_PARSING); return false; } diff --git a/indra/newview/skins/default/xui/en/floater_model_preview.xml b/indra/newview/skins/default/xui/en/floater_model_preview.xml index ab5ba91d5c..f8543ba1aa 100644 --- a/indra/newview/skins/default/xui/en/floater_model_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_model_preview.xml @@ -14,7 +14,7 @@ legacy_header_height="25"> - Error: Dae parsing issue - see log for details. + Error: Model parsing issue - see log for details. Warning: bind shape matrix is not in standard X-forward orientation. Error: Material of model is not a subset of reference model. Loading... @@ -75,6 +75,8 @@ Failed to create temporary file for embedded [TEXTURE_TYPE] texture [TEXTURE_INDEX]: [TEMP_FILE] Skin [SKIN_INDEX] defines [JOINT_COUNT] compatible joints, maximum is: [MAX]. Unused joints will be stripped on per model basis. Model [MODEL_NAME] uses [JOINT_COUNT], maximum: [MAX], upload might fail + Buffer is either missing or empty [BUFFER_NAME]. + Buffer is either missing or empty. Check presence of [BUFFER_URI] file.