summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2025-04-06 15:01:28 +0300
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2025-04-07 21:13:48 +0300
commita7a8d6c02e781188ad93280490be495dab5296ab (patch)
treee9dca4c5b17eaae0d7e89b136c33cfaaa590dbb5 /indra
parent40acaafd9c5b224a6e684db3b09f3360e92ed34e (diff)
#3627 std::bad_alloc when loading a model
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/gltfscenemanager.cpp11
-rw-r--r--indra/newview/llmaterialeditor.cpp11
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml10
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"