diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llfloatermodelpreview.cpp | 22 | ||||
-rw-r--r-- | indra/newview/llmeshrepository.cpp | 9 |
2 files changed, 19 insertions, 12 deletions
diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index 1e87e84eb2..73707ad2f1 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -3402,23 +3402,31 @@ BOOL LLModelPreview::render() if (!avatar_preview) { - for (LLModelLoader::scene::iterator iter = mScene[mPreviewLOD].begin(); iter != mScene[mPreviewLOD].end(); ++iter) + //for (LLModelLoader::scene::iterator iter = mScene[mPreviewLOD].begin(); iter != mScene[mPreviewLOD].end(); ++iter) + for (LLMeshUploadThread::instance_list::iterator iter = mUploadData.begin(); iter != mUploadData.end(); ++iter) { + LLModelInstance& instance = *iter; + gGL.pushMatrix(); - LLMatrix4 mat = iter->first; + LLMatrix4 mat = instance.mTransform; glMultMatrixf((GLfloat*) mat.mMatrix); - for (LLModelLoader::model_instance_list::iterator model_iter = iter->second.begin(); model_iter != iter->second.end(); ++model_iter) + //for (LLModelLoader::model_instance_list::iterator model_iter = iter->second.begin(); model_iter != iter->second.end(); ++model_iter) { - LLModelInstance& instance = *model_iter; - LLModel* model = instance.mModel; + //LLModelInstance& instance = *model_iter; + LLModel* model = instance.mLOD[mPreviewLOD]; - if (instance.mTransform != mat) + if (!model) { - llerrs << "WTF?" << llendl; + continue; } + //if (instance.mTransform != mat) + //{ + // llerrs << "WTF?" << llendl; + //} + if (render_mesh) { for (U32 i = 0; i < mVertexBuffer[mPreviewLOD][model].size(); ++i) diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index 5e95376830..72019d8de8 100644 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -2954,13 +2954,12 @@ LLSD LLMeshUploadThread::createObject(LLModelInstance& instance) perm.setOwnerAndGroup(gAgent.getID(), gAgent.getID(), LLUUID::null, false); perm.setCreator(gAgent.getID()); - perm.initMasks(PERM_ITEM_UNRESTRICTED, //base - PERM_ITEM_UNRESTRICTED, //owner + perm.initMasks(PERM_ITEM_UNRESTRICTED | PERM_MOVE, //base + PERM_ITEM_UNRESTRICTED | PERM_MOVE, //owner LLFloaterPerms::getEveryonePerms(), LLFloaterPerms::getGroupPerms(), - LLFloaterPerms::getNextOwnerPerms()); - - + LLFloaterPerms::getNextOwnerPerms()); + object_params["permissions"] = ll_create_sd_from_permissions(perm); object_params["physics_shape_type"] = (U8)(LLViewerObject::PHYSICS_SHAPE_CONVEX_HULL); |