diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2025-04-06 15:01:28 +0300 |
---|---|---|
committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2025-04-07 21:13:48 +0300 |
commit | a7a8d6c02e781188ad93280490be495dab5296ab (patch) | |
tree | e9dca4c5b17eaae0d7e89b136c33cfaaa590dbb5 /indra | |
parent | 40acaafd9c5b224a6e684db3b09f3360e92ed34e (diff) |
#3627 std::bad_alloc when loading a model
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/gltfscenemanager.cpp | 11 | ||||
-rw-r--r-- | indra/newview/llmaterialeditor.cpp | 11 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/notifications.xml | 10 |
3 files changed, 28 insertions, 4 deletions
diff --git a/indra/newview/gltfscenemanager.cpp b/indra/newview/gltfscenemanager.cpp index c33d15228c..e0cd762776 100644 --- a/indra/newview/gltfscenemanager.cpp +++ b/indra/newview/gltfscenemanager.cpp @@ -69,9 +69,16 @@ void GLTFSceneManager::load() { return; } - if (filenames.size() > 0) + try + { + if (filenames.size() > 0) + { + GLTFSceneManager::instance().load(filenames[0]); + } + } + catch (std::bad_alloc&) { - GLTFSceneManager::instance().load(filenames[0]); + LLNotificationsUtil::add("CannotOpenFileTooBig"); } }, LLFilePicker::FFLOAD_GLTF, diff --git a/indra/newview/llmaterialeditor.cpp b/indra/newview/llmaterialeditor.cpp index 1e3a328464..28160177f6 100644 --- a/indra/newview/llmaterialeditor.cpp +++ b/indra/newview/llmaterialeditor.cpp @@ -2857,9 +2857,16 @@ void LLMaterialEditor::importMaterial() { return; } - if (filenames.size() > 0) + try { - LLMaterialEditor::loadMaterialFromFile(filenames[0], -1); + if (filenames.size() > 0) + { + LLMaterialEditor::loadMaterialFromFile(filenames[0], -1); + } + } + catch (std::bad_alloc&) + { + LLNotificationsUtil::add("CannotOpenFileTooBig"); } }, LLFilePicker::FFLOAD_MATERIAL, diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index dba48012ac..f922a9d178 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -2408,6 +2408,16 @@ Unable to upload snapshot. File might be too big, try reducing resolution or try again later. <tag>fail</tag> </notification> + + <notification + icon="alertmodal.tga" + name="CannotOpenFileTooBig" + type="alertmodal"> +Unable to open file. + +Viewer run out of memory while opening file. File might be too big. + <tag>fail</tag> + </notification> <notification icon="notifytip.tga" |