summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rwxr-xr-xindra/newview/llfloatermodelpreview.cpp13
-rwxr-xr-xindra/newview/llhudtext.cpp17
-rwxr-xr-xindra/newview/llpanelpermissions.cpp73
-rwxr-xr-xindra/newview/pipeline.cpp5
4 files changed, 63 insertions, 45 deletions
diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp
index 2255e10678..57d69589d3 100755
--- a/indra/newview/llfloatermodelpreview.cpp
+++ b/indra/newview/llfloatermodelpreview.cpp
@@ -1550,9 +1550,18 @@ void LLModelPreview::rebuildUploadData()
}
instance.mLOD[i] = lod_model;
}
- else if (importerDebug)
+ else
{
- LL_INFOS() << "List of models does not include " << instance.mLabel << LL_ENDL;
+ if (i < LLModel::LOD_HIGH && !lodsReady())
+ {
+ // assign a placeholder from previous LOD until lod generation is complete.
+ // Note: we might need to assign it regardless of conditions like named search does, to prevent crashes.
+ instance.mLOD[i] = instance.mLOD[i + 1];
+ }
+ if (importerDebug)
+ {
+ LL_INFOS() << "List of models does not include " << instance.mLabel << LL_ENDL;
+ }
}
}
diff --git a/indra/newview/llhudtext.cpp b/indra/newview/llhudtext.cpp
index 3ab89b6e5f..05c8c236e9 100755
--- a/indra/newview/llhudtext.cpp
+++ b/indra/newview/llhudtext.cpp
@@ -384,14 +384,27 @@ void LLHUDText::updateVisibility()
mPositionAgent -= dir_from_camera * mSourceObject->getVObjRadius();
}
+ if (!mTextSegments.size())
+ {
+ mVisible = FALSE;
+ return;
+ }
+
mLastDistance = (mPositionAgent - LLViewerCamera::getInstance()->getOrigin()).magVec();
- F32 obj_dist = dist_vec(mSourceObject->getPosition(), LLViewerCamera::getInstance()->getOrigin());
- if (!mTextSegments.size() || (mDoFade && (mLastDistance > mFadeDistance + mFadeRange)) || (obj_dist > MAX_DRAW_DISTANCE))
+ F32 obj_dist = dist_vec(mSourceObject->getPositionEdit(), LLViewerCamera::getInstance()->getOrigin());
+
+ if(mSourceObject->isAttachment())
+ {
+ LLViewerObject* parent = (LLViewerObject*)mSourceObject->getRoot();
+ obj_dist = dist_vec(parent->getPositionEdit(), LLViewerCamera::getInstance()->getOrigin());
+ }
+ if ((mDoFade && (mLastDistance > mFadeDistance + mFadeRange)) || (obj_dist > MAX_DRAW_DISTANCE))
{
mVisible = FALSE;
return;
}
+
LLVector3 x_pixel_vec;
LLVector3 y_pixel_vec;
diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp
index 84e563e842..263c73dc0e 100755
--- a/indra/newview/llpanelpermissions.cpp
+++ b/indra/newview/llpanelpermissions.cpp
@@ -571,69 +571,60 @@ void LLPanelPermissions::refresh()
U32 next_owner_mask_on = 0;
U32 next_owner_mask_off = 0;
- BOOL valid_base_perms = FALSE;
- BOOL valid_group_perms= FALSE;
- BOOL valid_everyone_perms= FALSE;
- BOOL valid_next_perms= FALSE;
-
- if(root_selected)
- {
- valid_base_perms = LLSelectMgr::getInstance()->selectGetPerm(PERM_BASE,
+ BOOL valid_base_perms = LLSelectMgr::getInstance()->selectGetPerm(PERM_BASE,
&base_mask_on,
&base_mask_off);
- //BOOL valid_owner_perms =//
- LLSelectMgr::getInstance()->selectGetPerm(PERM_OWNER,
+ //BOOL valid_owner_perms =//
+ LLSelectMgr::getInstance()->selectGetPerm(PERM_OWNER,
&owner_mask_on,
&owner_mask_off);
- valid_group_perms = LLSelectMgr::getInstance()->selectGetPerm(PERM_GROUP,
+ BOOL valid_group_perms = LLSelectMgr::getInstance()->selectGetPerm(PERM_GROUP,
&group_mask_on,
&group_mask_off);
- valid_everyone_perms = LLSelectMgr::getInstance()->selectGetPerm(PERM_EVERYONE,
+ BOOL valid_everyone_perms = LLSelectMgr::getInstance()->selectGetPerm(PERM_EVERYONE,
&everyone_mask_on,
&everyone_mask_off);
- valid_next_perms = LLSelectMgr::getInstance()->selectGetPerm(PERM_NEXT_OWNER,
+ BOOL valid_next_perms = LLSelectMgr::getInstance()->selectGetPerm(PERM_NEXT_OWNER,
&next_owner_mask_on,
&next_owner_mask_off);
- }
- else
- {
- if(object_count == 1)
- {
- LLSelectNode* node = LLSelectMgr::getInstance()->getSelection()->getFirstNode();
- if (node && node->mValid)
- {
- valid_base_perms = TRUE;
-
- base_mask_on = node->mPermissions->getMaskBase();
- owner_mask_on = node->mPermissions->getMaskOwner();
- group_mask_on = node->mPermissions->getMaskGroup();
- everyone_mask_on = node->mPermissions->getMaskEveryone();
- next_owner_mask_on = node->mPermissions->getMaskNextOwner();
- }
- }
- }
-
+
if (gSavedSettings.getBOOL("DebugPermissions") )
{
if (valid_base_perms)
{
getChild<LLUICtrl>("B:")->setValue("B: " + mask_to_string(base_mask_on));
- getChildView("B:")->setVisible( TRUE);
-
+ getChildView("B:")->setVisible(TRUE);
getChild<LLUICtrl>("O:")->setValue("O: " + mask_to_string(owner_mask_on));
- getChildView("O:")->setVisible( TRUE);
-
+ getChildView("O:")->setVisible(TRUE);
getChild<LLUICtrl>("G:")->setValue("G: " + mask_to_string(group_mask_on));
- getChildView("G:")->setVisible( TRUE);
-
+ getChildView("G:")->setVisible(TRUE);
getChild<LLUICtrl>("E:")->setValue("E: " + mask_to_string(everyone_mask_on));
- getChildView("E:")->setVisible( TRUE);
-
+ getChildView("E:")->setVisible(TRUE);
getChild<LLUICtrl>("N:")->setValue("N: " + mask_to_string(next_owner_mask_on));
- getChildView("N:")->setVisible( TRUE);
+ getChildView("N:")->setVisible(TRUE);
+ }
+ else if(!root_selected)
+ {
+ if(object_count == 1)
+ {
+ LLSelectNode* node = LLSelectMgr::getInstance()->getSelection()->getFirstNode();
+ if (node && node->mValid)
+ {
+ getChild<LLUICtrl>("B:")->setValue("B: " + mask_to_string( node->mPermissions->getMaskBase()));
+ getChildView("B:")->setVisible(TRUE);
+ getChild<LLUICtrl>("O:")->setValue("O: " + mask_to_string(node->mPermissions->getMaskOwner()));
+ getChildView("O:")->setVisible(TRUE);
+ getChild<LLUICtrl>("G:")->setValue("G: " + mask_to_string(node->mPermissions->getMaskGroup()));
+ getChildView("G:")->setVisible(TRUE);
+ getChild<LLUICtrl>("E:")->setValue("E: " + mask_to_string(node->mPermissions->getMaskEveryone()));
+ getChildView("E:")->setVisible(TRUE);
+ getChild<LLUICtrl>("N:")->setValue("N: " + mask_to_string(node->mPermissions->getMaskNextOwner()));
+ getChildView("N:")->setVisible(TRUE);
+ }
+ }
}
else
{
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 771881c44a..be575150cd 100755
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -8661,6 +8661,11 @@ void LLPipeline::renderDeferredLighting()
}
}
+ const LLViewerObject *vobj = drawablep->getVObj();
+ if(vobj && vobj->getAvatar() && vobj->getAvatar()->isInMuteList())
+ {
+ continue;
+ }
LLVector4a center;
center.load3(drawablep->getPositionAgent().mV);