diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llcommon/llmemory.h | 6 | ||||
| -rw-r--r-- | indra/llui/llfolderview.cpp | 6 | ||||
| -rw-r--r-- | indra/llui/lltextbase.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llfloaterland.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llimfloatercontainer.cpp | 19 | ||||
| -rw-r--r-- | indra/newview/llspeakers.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/textures/icons/nearby_chat_icon.png | bin | 793 -> 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.pngBinary files differ 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 | 
