Merged in lindenlab/viewer-lynx
commit
efb49c8ccf
|
|
@ -196,6 +196,7 @@ Ansariel Hiller
|
|||
MAINT-6513
|
||||
MAINT-6514
|
||||
MAINT-6552
|
||||
STORM-2133
|
||||
Aralara Rajal
|
||||
Arare Chantilly
|
||||
CHUIBUG-191
|
||||
|
|
|
|||
|
|
@ -3906,8 +3906,8 @@ void LLMeshRepository::buildHull(const LLVolumeParams& params, S32 detail)
|
|||
|
||||
bool LLMeshRepository::hasPhysicsShape(const LLUUID& mesh_id)
|
||||
{
|
||||
LLSD mesh = mThread->getMeshHeader(mesh_id);
|
||||
if (mesh.has("physics_mesh") && mesh["physics_mesh"].has("size") && (mesh["physics_mesh"]["size"].asInteger() > 0))
|
||||
const LLSD* mesh = mThread->getMeshHeader(mesh_id);
|
||||
if (mesh && mesh->has("physics_mesh") && (*mesh)["physics_mesh"].has("size") && ((*mesh)["physics_mesh"]["size"].asInteger() > 0))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
@ -3921,27 +3921,26 @@ bool LLMeshRepository::hasPhysicsShape(const LLUUID& mesh_id)
|
|||
return false;
|
||||
}
|
||||
|
||||
LLSD& LLMeshRepository::getMeshHeader(const LLUUID& mesh_id)
|
||||
const LLSD* LLMeshRepository::getMeshHeader(const LLUUID& mesh_id)
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_MESH_FETCH);
|
||||
|
||||
return mThread->getMeshHeader(mesh_id);
|
||||
}
|
||||
|
||||
LLSD& LLMeshRepoThread::getMeshHeader(const LLUUID& mesh_id)
|
||||
const LLSD* LLMeshRepoThread::getMeshHeader(const LLUUID& mesh_id)
|
||||
{
|
||||
static LLSD dummy_ret;
|
||||
if (mesh_id.notNull())
|
||||
{
|
||||
LLMutexLock lock(mHeaderMutex);
|
||||
mesh_header_map::iterator iter = mMeshHeader.find(mesh_id);
|
||||
if (iter != mMeshHeader.end())
|
||||
{
|
||||
return iter->second;
|
||||
return &(iter->second);
|
||||
}
|
||||
}
|
||||
|
||||
return dummy_ret;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -4034,7 +4033,9 @@ void LLMeshRepository::uploadError(LLSD& args)
|
|||
//static
|
||||
F32 LLMeshRepository::getStreamingCost(LLSD& header, F32 radius, S32* bytes, S32* bytes_visible, S32 lod, F32 *unscaled_value)
|
||||
{
|
||||
if (header.size() == 0 || header.has("404") || header["version"].asInteger() > MAX_MESH_VERSION)
|
||||
if (header.has("404")
|
||||
|| !header.has("lowest_lod")
|
||||
|| (header.has("version") && header["version"].asInteger() > MAX_MESH_VERSION))
|
||||
{
|
||||
return 0.f;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -305,7 +305,7 @@ public:
|
|||
bool skinInfoReceived(const LLUUID& mesh_id, U8* data, S32 data_size);
|
||||
bool decompositionReceived(const LLUUID& mesh_id, U8* data, S32 data_size);
|
||||
bool physicsShapeReceived(const LLUUID& mesh_id, U8* data, S32 data_size);
|
||||
LLSD& getMeshHeader(const LLUUID& mesh_id);
|
||||
const LLSD* getMeshHeader(const LLUUID& mesh_id);
|
||||
|
||||
void notifyLoadedMeshes();
|
||||
S32 getActualMeshLOD(const LLVolumeParams& mesh_params, S32 lod);
|
||||
|
|
@ -506,7 +506,7 @@ public:
|
|||
bool meshRezEnabled();
|
||||
|
||||
|
||||
LLSD& getMeshHeader(const LLUUID& mesh_id);
|
||||
const LLSD* getMeshHeader(const LLUUID& mesh_id);
|
||||
|
||||
void uploadModel(std::vector<LLModelInstance>& data, LLVector3& scale, bool upload_textures,
|
||||
bool upload_skin, bool upload_joints, std::string upload_url, bool do_upload = true,
|
||||
|
|
|
|||
|
|
@ -427,7 +427,7 @@ void LLVivoxVoiceClient::connectorCreate()
|
|||
|
||||
void LLVivoxVoiceClient::connectorShutdown()
|
||||
{
|
||||
if(!mConnectorEstablished)
|
||||
if(mConnectorEstablished)
|
||||
{
|
||||
std::ostringstream stream;
|
||||
stream
|
||||
|
|
|
|||
|
|
@ -3631,8 +3631,9 @@ F32 LLVOVolume::getStreamingCost(S32* bytes, S32* visible_bytes, F32* unscaled_v
|
|||
F32 radius = getScale().length()*0.5f;
|
||||
|
||||
if (isMesh())
|
||||
{
|
||||
LLSD& header = gMeshRepo.getMeshHeader(getVolume()->getParams().getSculptID());
|
||||
{
|
||||
const LLSD* header_ptr = gMeshRepo.getMeshHeader(getVolume()->getParams().getSculptID());
|
||||
LLSD header = header_ptr ? *header_ptr : LLSD();
|
||||
|
||||
return LLMeshRepository::getStreamingCost(header, radius, bytes, visible_bytes, mLOD, unscaled_value);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue