summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/llrender/llvertexbuffer.cpp2
-rw-r--r--indra/llui/llaccordionctrltab.cpp3
-rw-r--r--indra/llui/llaccordionctrltab.h3
-rw-r--r--indra/newview/app_settings/shaders/class1/lighting/lightAlphaMaskNonIndexedF.glsl4
-rw-r--r--indra/newview/llconversationview.cpp7
-rw-r--r--indra/newview/lldrawable.cpp4
-rw-r--r--indra/newview/llfloatertools.cpp7
-rw-r--r--indra/newview/llmaniptranslate.cpp4
-rw-r--r--indra/newview/llpanelpermissions.cpp51
-rw-r--r--indra/newview/llpanelpermissions.h3
-rw-r--r--indra/newview/llpanelwearing.cpp1
-rw-r--r--indra/newview/llvieweroctree.cpp2
-rw-r--r--indra/newview/llvovolume.cpp8
-rw-r--r--indra/newview/pipeline.cpp2
14 files changed, 79 insertions, 22 deletions
diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp
index 31dffdd545..1c325f5e5d 100644
--- a/indra/llrender/llvertexbuffer.cpp
+++ b/indra/llrender/llvertexbuffer.cpp
@@ -509,7 +509,7 @@ void LLVertexBuffer::setupClientArrays(U32 data_mask)
}
}
- U32 map_tc[] =
+ static const U32 map_tc[] =
{
MAP_TEXCOORD1,
MAP_TEXCOORD2,
diff --git a/indra/llui/llaccordionctrltab.cpp b/indra/llui/llaccordionctrltab.cpp
index 53720a6044..f8ef5289db 100644
--- a/indra/llui/llaccordionctrltab.cpp
+++ b/indra/llui/llaccordionctrltab.cpp
@@ -361,6 +361,7 @@ LLAccordionCtrlTab::LLAccordionCtrlTab(const LLAccordionCtrlTab::Params&p)
{
mStoredOpenCloseState = false;
mWasStateStored = false;
+ mSkipChangesOnNotifyParent = false;
mDropdownBGColor = LLColor4::white;
LLAccordionCtrlTabHeader::Params headerParams;
@@ -691,7 +692,7 @@ S32 LLAccordionCtrlTab::notifyParent(const LLSD& info)
mExpandedHeight = height;
- if(isExpanded())
+ if(isExpanded() && !mSkipChangesOnNotifyParent)
{
LLRect panel_rect = getRect();
panel_rect.setLeftTopAndSize( panel_rect.mLeft, panel_rect.mTop, panel_rect.getWidth(), height);
diff --git a/indra/llui/llaccordionctrltab.h b/indra/llui/llaccordionctrltab.h
index 7a78700e0f..0263bce4be 100644
--- a/indra/llui/llaccordionctrltab.h
+++ b/indra/llui/llaccordionctrltab.h
@@ -195,6 +195,8 @@ public:
void setFitPanel( bool fit ) { mFitPanel = true; }
bool getFitParent() const { return mFitPanel; }
+ void setIgnoreResizeNotification(bool ignore) { mSkipChangesOnNotifyParent = ignore;}
+
protected:
void adjustContainerPanel (const LLRect& child_rect);
void adjustContainerPanel ();
@@ -235,6 +237,7 @@ private:
bool mStoredOpenCloseState;
bool mWasStateStored;
+ bool mSkipChangesOnNotifyParent;
bool mSelectionEnabled;
diff --git a/indra/newview/app_settings/shaders/class1/lighting/lightAlphaMaskNonIndexedF.glsl b/indra/newview/app_settings/shaders/class1/lighting/lightAlphaMaskNonIndexedF.glsl
index b9ddbc8e1c..8918182853 100644
--- a/indra/newview/app_settings/shaders/class1/lighting/lightAlphaMaskNonIndexedF.glsl
+++ b/indra/newview/app_settings/shaders/class1/lighting/lightAlphaMaskNonIndexedF.glsl
@@ -43,12 +43,12 @@ void default_lighting()
{
vec4 color = texture2D(diffuseMap,vary_texcoord0.xy);
+ color *= vertex_color;
+
if (color.a < minimum_alpha)
{
discard;
}
-
- color.rgb *= vertex_color.rgb;
color.rgb = atmosLighting(color.rgb);
diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp
index b18e543f0a..15a8aacd37 100644
--- a/indra/newview/llconversationview.cpp
+++ b/indra/newview/llconversationview.cpp
@@ -303,7 +303,7 @@ BOOL LLConversationViewSession::handleMouseUp( S32 x, S32 y, MASK mask )
LLConversationItem* item = dynamic_cast<LLConversationItem *>(getViewModelItem());
LLUUID session_id = item? item->getUUID() : LLUUID();
LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::findConversation(session_id);
- if(!session_floater->hasFocus())
+ if(session_floater && !session_floater->hasFocus())
{
session_floater->setFocus(true);
}
@@ -458,6 +458,11 @@ void LLConversationViewSession::refresh()
}
}
}
+
+ if (mSpeakingIndicator)
+ {
+ mSpeakingIndicator->setShowParticipantsSpeaking(mIsInActiveVoiceChannel);
+ }
requestArrange();
// Do the regular upstream refresh
LLFolderViewFolder::refresh();
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp
index f956023358..3bb2c45a24 100644
--- a/indra/newview/lldrawable.cpp
+++ b/indra/newview/lldrawable.cpp
@@ -979,9 +979,7 @@ void LLDrawable::updateSpatialExtents()
if (mVObjp)
{
const LLVector4a* exts = getSpatialExtents();
- LLVector4a extents[2];
- extents[0] = exts[0];
- extents[1] = exts[1];
+ LLVector4a extents[2] = { exts[0], exts[1] };
mVObjp->updateSpatialExtents(extents[0], extents[1]);
setSpatialExtents(extents[0], extents[1]);
diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp
index 987a7449ee..b14b9b7578 100644
--- a/indra/newview/llfloatertools.cpp
+++ b/indra/newview/llfloatertools.cpp
@@ -1177,7 +1177,12 @@ void LLFloaterTools::updateLandImpacts()
S32 rezzed_prims = parcel->getSimWidePrimCount();
S32 total_capacity = parcel->getSimWideMaxPrimCapacity();
-
+ LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion();
+ if (region)
+ {
+ S32 max_tasks_per_region = (S32)region->getMaxTasks();
+ total_capacity = llmin(total_capacity, max_tasks_per_region);
+ }
std::string remaining_capacity_str = "";
bool show_mesh_cost = gMeshRepo.meshRezEnabled();
diff --git a/indra/newview/llmaniptranslate.cpp b/indra/newview/llmaniptranslate.cpp
index 3975d3980b..f3e00fa9c6 100644
--- a/indra/newview/llmaniptranslate.cpp
+++ b/indra/newview/llmaniptranslate.cpp
@@ -1638,8 +1638,8 @@ void LLManipTranslate::highlightIntersection(LLVector3 normal,
LLGLSLShader* shader = LLGLSLShader::sCurBoundShaderPtr;
- U32 types[] = { LLRenderPass::PASS_SIMPLE, LLRenderPass::PASS_ALPHA, LLRenderPass::PASS_FULLBRIGHT, LLRenderPass::PASS_SHINY };
- U32 num_types = LL_ARRAY_SIZE(types);
+ static const U32 types[] = { LLRenderPass::PASS_SIMPLE, LLRenderPass::PASS_ALPHA, LLRenderPass::PASS_FULLBRIGHT, LLRenderPass::PASS_SHINY };
+ static const U32 num_types = LL_ARRAY_SIZE(types);
GLuint stencil_mask = 0xFFFFFFFF;
//stencil in volumes
diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp
index 6e677bbce5..203c57b732 100644
--- a/indra/newview/llpanelpermissions.cpp
+++ b/indra/newview/llpanelpermissions.cpp
@@ -63,6 +63,7 @@
#include "roles_constants.h"
#include "llgroupactions.h"
#include "lltrans.h"
+#include "llinventorymodel.h"
U8 string_value_to_click_action(std::string p_value);
@@ -1016,13 +1017,26 @@ void LLPanelPermissions::onCommitNextOwnerTransfer(LLUICtrl* ctrl, void* data)
// static
void LLPanelPermissions::onCommitName(LLUICtrl*, void* data)
{
- //LL_INFOS() << "LLPanelPermissions::onCommitName()" << LL_ENDL;
LLPanelPermissions* self = (LLPanelPermissions*)data;
LLLineEditor* tb = self->getChild<LLLineEditor>("Object Name");
- if(tb)
+ if (!tb)
{
- LLSelectMgr::getInstance()->selectionSetObjectName(tb->getText());
-// LLSelectMgr::getInstance()->selectionSetObjectName(self->mLabelObjectName->getText());
+ return;
+ }
+ LLSelectMgr::getInstance()->selectionSetObjectName(tb->getText());
+ LLObjectSelectionHandle selection = LLSelectMgr::getInstance()->getSelection();
+ if (selection->isAttachment() && (selection->getNumNodes() == 1) && !tb->getText().empty())
+ {
+ LLUUID object_id = selection->getFirstObject()->getAttachmentItemID();
+ LLViewerInventoryItem* item = findItem(object_id);
+ if (item)
+ {
+ LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(item);
+ new_item->rename(tb->getText());
+ new_item->updateServer(FALSE);
+ gInventory.updateItem(new_item);
+ gInventory.notifyObservers();
+ }
}
}
@@ -1030,12 +1044,26 @@ void LLPanelPermissions::onCommitName(LLUICtrl*, void* data)
// static
void LLPanelPermissions::onCommitDesc(LLUICtrl*, void* data)
{
- //LL_INFOS() << "LLPanelPermissions::onCommitDesc()" << LL_ENDL;
LLPanelPermissions* self = (LLPanelPermissions*)data;
LLLineEditor* le = self->getChild<LLLineEditor>("Object Description");
- if(le)
+ if (!le)
{
- LLSelectMgr::getInstance()->selectionSetObjectDescription(le->getText());
+ return;
+ }
+ LLSelectMgr::getInstance()->selectionSetObjectDescription(le->getText());
+ LLObjectSelectionHandle selection = LLSelectMgr::getInstance()->getSelection();
+ if (selection->isAttachment() && (selection->getNumNodes() == 1))
+ {
+ LLUUID object_id = selection->getFirstObject()->getAttachmentItemID();
+ LLViewerInventoryItem* item = findItem(object_id);
+ if (item)
+ {
+ LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(item);
+ new_item->setDescription(le->getText());
+ new_item->updateServer(FALSE);
+ gInventory.updateItem(new_item);
+ gInventory.notifyObservers();
+ }
}
}
@@ -1159,3 +1187,12 @@ void LLPanelPermissions::onCommitIncludeInSearch(LLUICtrl* ctrl, void*)
LLSelectMgr::getInstance()->selectionSetIncludeInSearch(box->get());
}
+
+LLViewerInventoryItem* LLPanelPermissions::findItem(LLUUID &object_id)
+{
+ if (!object_id.isNull())
+ {
+ return gInventory.getItem(object_id);
+ }
+ return NULL;
+}
diff --git a/indra/newview/llpanelpermissions.h b/indra/newview/llpanelpermissions.h
index 87805bbf90..2d15954baa 100644
--- a/indra/newview/llpanelpermissions.h
+++ b/indra/newview/llpanelpermissions.h
@@ -37,6 +37,7 @@
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class LLNameBox;
+class LLViewerInventoryItem;
class LLPanelPermissions : public LLPanel
{
@@ -77,6 +78,8 @@ protected:
static void onCommitClickAction(LLUICtrl* ctrl, void*);
static void onCommitIncludeInSearch(LLUICtrl* ctrl, void*);
+ static LLViewerInventoryItem* findItem(LLUUID &object_id);
+
protected:
void disableAll();
diff --git a/indra/newview/llpanelwearing.cpp b/indra/newview/llpanelwearing.cpp
index 796372ba04..a150007177 100644
--- a/indra/newview/llpanelwearing.cpp
+++ b/indra/newview/llpanelwearing.cpp
@@ -232,6 +232,7 @@ BOOL LLPanelWearing::postBuild()
{
mAccordionCtrl = getChild<LLAccordionCtrl>("wearables_accordion");
mWearablesTab = getChild<LLAccordionCtrlTab>("tab_wearables");
+ mWearablesTab->setIgnoreResizeNotification(true);
mAttachmentsTab = getChild<LLAccordionCtrlTab>("tab_temp_attachments");
mAttachmentsTab->setDropDownStateChangedCallback(boost::bind(&LLPanelWearing::onAccordionTabStateChanged, this));
diff --git a/indra/newview/llvieweroctree.cpp b/indra/newview/llvieweroctree.cpp
index 023f1b92ba..5f0e21db71 100644
--- a/indra/newview/llvieweroctree.cpp
+++ b/indra/newview/llvieweroctree.cpp
@@ -465,7 +465,7 @@ LLViewerOctreeGroup::LLViewerOctreeGroup(OctreeNode* node)
{
LLVector4a tmp;
tmp.splat(0.f);
- mExtents[0] = mExtents[1] = mObjectBounds[0] = mObjectBounds[0] = mObjectBounds[1] =
+ mExtents[0] = mExtents[1] = mObjectBounds[0] = mObjectBounds[1] =
mObjectExtents[0] = mObjectExtents[1] = tmp;
mBounds[0] = node->getCenter();
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 217b8bfbc2..8b25cfaa58 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -1485,7 +1485,6 @@ BOOL LLVOVolume::genBBoxes(BOOL force_global)
res &= face->genVolumeBBoxes(*volume, i,
mRelativeXform,
(mVolumeImpl && mVolumeImpl->isVolumeGlobal()) || force_global);
-
if (rebuild)
{
if (i == 0)
@@ -1761,6 +1760,11 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable)
dirtySpatialGroup(drawable->isState(LLDrawable::IN_REBUILD_Q1));
compiled = TRUE;
lodOrSculptChanged(drawable, compiled);
+
+ if(drawable->isState(LLDrawable::REBUILD_RIGGED | LLDrawable::RIGGED))
+ {
+ updateRiggedVolume(false);
+ }
genBBoxes(FALSE);
}
// it has its own drawable (it's moved) or it has changed UVs or it has changed xforms from global<->local
@@ -4210,7 +4214,7 @@ void LLRiggedVolume::update(const LLMeshSkinInfo* skin, LLVOAvatar* avatar, cons
LLVector4a* pos = dst_face.mPositions;
- if( pos && weight && dst_face.mExtents )
+ if (pos && dst_face.mExtents)
{
LL_RECORD_BLOCK_TIME(FTM_SKIN_RIGGED);
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 32285d2784..dddf586f62 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -10120,7 +10120,7 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
}
LLPipeline::sShadowRender = TRUE;
- U32 types[] = {
+ static const U32 types[] = {
LLRenderPass::PASS_SIMPLE,
LLRenderPass::PASS_FULLBRIGHT,
LLRenderPass::PASS_SHINY,