summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorGilbert Gonzales <gilbert@lindenlab.com>2012-10-22 10:35:35 -0700
committerGilbert Gonzales <gilbert@lindenlab.com>2012-10-22 10:35:35 -0700
commit520a29962081cb420341d8c40925569c20cadc2a (patch)
tree39a64ebc7473fdedd9eaef0abc656d448653708b /indra
parentb0c54dfd3e2ecc8d4f875276397a55cef40a3d9a (diff)
parent730ba97759deabd7fb45e63eae650f83c1d9ba99 (diff)
merging in latest changes
Diffstat (limited to 'indra')
-rw-r--r--indra/llcommon/llmemory.h6
-rw-r--r--indra/llui/llfolderview.cpp6
-rw-r--r--indra/llui/lltextbase.cpp2
-rw-r--r--indra/newview/llfloaterland.cpp2
-rw-r--r--indra/newview/llimfloatercontainer.cpp19
-rw-r--r--indra/newview/llspeakers.cpp4
-rw-r--r--indra/newview/pipeline.cpp2
-rw-r--r--indra/newview/skins/default/textures/icons/nearby_chat_icon.pngbin793 -> 553 bytes
8 files changed, 29 insertions, 12 deletions
diff --git a/indra/llcommon/llmemory.h b/indra/llcommon/llmemory.h
index 40cde485cf..10013e0f92 100644
--- a/indra/llcommon/llmemory.h
+++ b/indra/llcommon/llmemory.h
@@ -87,7 +87,11 @@ inline void* ll_aligned_realloc_16(void* ptr, size_t size, size_t old_size) // r
void* ret = ll_aligned_malloc_16(size);
if (ptr)
{
- memcpy(ret, ptr, old_size);
+ if (ret)
+ {
+ // Only copy the size of the smallest memory block to avoid memory corruption.
+ memcpy(ret, ptr, llmin(old_size, size));
+ }
ll_aligned_free_16(ptr);
}
return ret;
diff --git a/indra/llui/llfolderview.cpp b/indra/llui/llfolderview.cpp
index c1a11851e2..c8b8bcae48 100644
--- a/indra/llui/llfolderview.cpp
+++ b/indra/llui/llfolderview.cpp
@@ -504,7 +504,11 @@ void LLFolderView::sanitizeSelection()
LLFolderViewItem* item = *item_iter;
// ensure that each ancestor is open and potentially passes filtering
- BOOL visible = item->getViewModelItem()->potentiallyVisible(); // initialize from filter state for this item
+ BOOL visible = false;
+ if(item->getViewModelItem())
+ {
+ visible = item->getViewModelItem()->potentiallyVisible(); // initialize from filter state for this item
+ }
// modify with parent open and filters states
LLFolderViewFolder* parent_folder = item->getParentFolder();
// Move up through parent folders and see what's visible
diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp
index b827acb185..8839afb60d 100644
--- a/indra/llui/lltextbase.cpp
+++ b/indra/llui/lltextbase.cpp
@@ -1359,6 +1359,7 @@ void LLTextBase::onSpellCheckSettingsChange()
void LLTextBase::onFocusReceived()
{
+ LLUICtrl::onFocusReceived();
if (!getLength() && !mLabel.empty())
{
// delete label which is LLLabelTextSegment
@@ -1368,6 +1369,7 @@ void LLTextBase::onFocusReceived()
void LLTextBase::onFocusLost()
{
+ LLUICtrl::onFocusLost();
if (!getLength() && !mLabel.empty())
{
resetLabel();
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp
index 4fc6684e8e..a5dd197336 100644
--- a/indra/newview/llfloaterland.cpp
+++ b/indra/newview/llfloaterland.cpp
@@ -1045,6 +1045,8 @@ void LLPanelLandGeneral::onCommitAny(LLUICtrl *ctrl, void *userdata)
void LLPanelLandGeneral::onClickSellLand(void* data)
{
LLViewerParcelMgr::getInstance()->startSellLand();
+ LLPanelLandGeneral *panelp = (LLPanelLandGeneral *)data;
+ panelp->refresh();
}
// static
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index c4eeccecbe..14ed0b3c3e 100644
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -927,15 +927,18 @@ void LLIMFloaterContainer::doToSelected(const LLSD& userdata)
const LLConversationItem * conversationItem = getCurSelectedViewModelItem();
uuid_vec_t selected_uuids;
- getParticipantUUIDs(selected_uuids);
-
- if(conversationItem->getType() == LLConversationItem::CONV_PARTICIPANT)
- {
- doToParticipants(command, selected_uuids);
- }
- else
+ if(conversationItem != NULL)
{
- doToSelectedConversation(command, selected_uuids);
+ getParticipantUUIDs(selected_uuids);
+
+ if(conversationItem->getType() == LLConversationItem::CONV_PARTICIPANT)
+ {
+ doToParticipants(command, selected_uuids);
+ }
+ else
+ {
+ doToSelectedConversation(command, selected_uuids);
+ }
}
}
diff --git a/indra/newview/llspeakers.cpp b/indra/newview/llspeakers.cpp
index 64477765e1..46fd8c1290 100644
--- a/indra/newview/llspeakers.cpp
+++ b/indra/newview/llspeakers.cpp
@@ -533,8 +533,8 @@ void LLSpeakerMgr::updateSpeakerList()
LLIMModel::LLIMSession* session = LLIMModel::getInstance()->findIMSession(session_id);
for (uuid_vec_t::iterator it = session->mInitialTargetIDs.begin();it!=session->mInitialTargetIDs.end();++it)
{
- // We only add avatars that are on line
- if (LLAvatarTracker::instance().isBuddyOnline(*it))
+ // Allow to set buddies if they are on line. Allow any other avatar.
+ if (!LLAvatarTracker::instance().isBuddy(*it) || LLAvatarTracker::instance().isBuddyOnline(*it))
{
setSpeaker(*it, "", LLSpeaker::STATUS_VOICE_ACTIVE, LLSpeaker::SPEAKER_AGENT);
}
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index ba047487f5..b6f3301c6c 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -706,6 +706,8 @@ void LLPipeline::cleanup()
mInitialized = FALSE;
mDeferredVB = NULL;
+
+ mCubeVB = NULL;
}
//============================================================================
diff --git a/indra/newview/skins/default/textures/icons/nearby_chat_icon.png b/indra/newview/skins/default/textures/icons/nearby_chat_icon.png
index 7c3ad40381..48c2379133 100644
--- a/indra/newview/skins/default/textures/icons/nearby_chat_icon.png
+++ b/indra/newview/skins/default/textures/icons/nearby_chat_icon.png
Binary files differ