summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llmanipscale.cpp1
-rwxr-xr-x[-rw-r--r--]indra/newview/llmeshrepository.cpp63
-rw-r--r--indra/newview/llviewerregion.cpp1
3 files changed, 58 insertions, 7 deletions
diff --git a/indra/newview/llmanipscale.cpp b/indra/newview/llmanipscale.cpp
index 0eedabb5de..4eb94dfb8e 100644
--- a/indra/newview/llmanipscale.cpp
+++ b/indra/newview/llmanipscale.cpp
@@ -92,7 +92,6 @@ F32 get_default_max_prim_scale(bool is_flora)
// a bit of a hack, but if it's foilage, we don't want to use the
// new larger scale which would result in giant trees and grass
if (gMeshRepo.meshRezEnabled() &&
- !gAgent.getRegion()->getCapability("ObjectAdd").empty() &&
!is_flora)
{
return DEFAULT_MAX_PRIM_SCALE;
diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp
index d4198041ec..7568f3659b 100644..100755
--- a/indra/newview/llmeshrepository.cpp
+++ b/indra/newview/llmeshrepository.cpp
@@ -468,6 +468,49 @@ public:
};
+void log_upload_error(const LLSD& content,std::string stage)
+{
+ if (content.has("error"))
+ {
+ const LLSD& err = content["error"];
+ llwarns << "mesh upload failed, stage " << stage
+ << " message " << err["message"].asString() << " id " << err["identifier"].asString()
+ << llendl;
+
+ if (content.has("errors"))
+ {
+ const LLSD& err_list = content["errors"];
+ for (LLSD::array_const_iterator it = err_list.beginArray();
+ it != err_list.endArray();
+ ++it)
+ {
+ const LLSD& err_entry = *it;
+ std::string index_info;
+ std::string texture_index_str = err_entry["TextureIndex"].asString();
+ if (!texture_index_str.empty())
+ {
+ index_info += " texture_index: " + texture_index_str;
+ }
+ std::string mesh_index_str = err_entry["MeshIndex"].asString();
+ if (!mesh_index_str.empty())
+ {
+ index_info += " mesh_index: " + mesh_index_str;
+ }
+ llwarns << "mesh err code " << err_entry["error"].asString()
+ << " message " << err_entry["message"]
+ << index_info
+ << llendl;
+ }
+ }
+ }
+ else
+ {
+ llwarns << "bad mesh, no error information available" << llendl;
+ }
+
+
+}
+
class LLModelObjectUploadResponder: public LLCurl::Responder
{
LLSD mObjectAsset;
@@ -511,15 +554,17 @@ public:
llinfos << "LLWholeModelFeeResponder content: " << content << llendl;
if (isGoodStatus(status))
{
+ llinfos << "fee request succeeded" << llendl;
mThread->mWholeModelUploadURL = content["uploader"].asString();
}
else
{
- llinfos << "upload failed" << llendl;
+ llwarns << "fee request failed" << llendl;
+ log_upload_error(content,"fee");
mThread->mWholeModelUploadURL = "";
}
-
}
+
};
class LLWholeModelUploadResponder: public LLCurl::Responder
@@ -538,13 +583,21 @@ public:
const LLSD& content)
{
//assert_main_thread();
- llinfos << "upload completed" << llendl;
mThread->mPendingUploads--;
dumpLLSDToFile(content,make_dump_name("whole_model_upload_response_",dump_num));
// requested "mesh" asset type isn't actually the type
// of the resultant object, fix it up here.
- mPostData["asset_type"] = "object";
- gMeshRepo.updateInventory(LLMeshRepository::inventory_data(mPostData,content));
+ if (isGoodStatus(status))
+ {
+ llinfos << "upload succeeded" << llendl;
+ mPostData["asset_type"] = "object";
+ gMeshRepo.updateInventory(LLMeshRepository::inventory_data(mPostData,content));
+ }
+ else
+ {
+ llwarns << "upload failed" << llendl;
+ log_upload_error(content,"upload");
+ }
}
};
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index f3fb4b82ad..002e0567e4 100644
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -1526,7 +1526,6 @@ void LLViewerRegion::setSeedCapability(const std::string& url)
capabilityNames.append("MapLayer");
capabilityNames.append("MapLayerGod");
capabilityNames.append("NewFileAgentInventory");
- capabilityNames.append("ObjectAdd");
capabilityNames.append("ParcelPropertiesUpdate");
capabilityNames.append("ParcelMediaURLFilterList");
capabilityNames.append("ParcelNavigateMedia");