summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterimcontainer.cpp
diff options
context:
space:
mode:
authorGilbert Gonzales <gilbert@lindenlab.com>2012-12-06 15:53:28 -0800
committerGilbert Gonzales <gilbert@lindenlab.com>2012-12-06 15:53:28 -0800
commit8dbb91728fba85f545dce39096399f505dabb960 (patch)
tree4cfffef8d22bd6f42417645476134cf023e4761c /indra/newview/llfloaterimcontainer.cpp
parent218cbebbd8bdbfadc954731ee54f6472ed847139 (diff)
parent567df7bf275dfd33cf1b1fea945e3e544571b4aa (diff)
merging in latest changes
Diffstat (limited to 'indra/newview/llfloaterimcontainer.cpp')
-rw-r--r--indra/newview/llfloaterimcontainer.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index 23c21d5309..b8a37da3fa 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -870,8 +870,16 @@ const LLConversationItem * LLFloaterIMContainer::getCurSelectedViewModelItem()
mConversationsRoot->getCurSelectedItem() &&
mConversationsRoot->getCurSelectedItem()->getViewModelItem())
{
- conversationItem = static_cast<LLConversationItem *>(mConversationsRoot->getCurSelectedItem()->getViewModelItem());
- }
+ LLFloaterIMSessionTab *selectedSession = LLFloaterIMSessionTab::getConversation(mSelectedSession);
+ if (selectedSession && selectedSession->isTornOff())
+ {
+ conversationItem = selectedSession->getCurSelectedViewModelItem();
+ }
+ else
+ {
+ conversationItem = static_cast<LLConversationItem *>(mConversationsRoot->getCurSelectedItem()->getViewModelItem());
+ }
+ }
return conversationItem;
}
@@ -1560,21 +1568,19 @@ void LLFloaterIMContainer::moderateVoiceParticipant(const LLUUID& avatar_id, boo
LLSpeakerMgr * LLFloaterIMContainer::getSpeakerMgrForSelectedParticipant()
{
- LLFolderViewItem * selected_folder_itemp = mConversationsRoot->getCurSelectedItem();
- if (NULL == selected_folder_itemp)
+ LLFolderViewItem *selectedItem = mConversationsRoot->getCurSelectedItem();
+ if (NULL == selectedItem)
{
llwarns << "Current selected item is null" << llendl;
return NULL;
}
- LLFolderViewFolder * conversation_itemp = selected_folder_itemp->getParentFolder();
-
conversations_widgets_map::const_iterator iter = mConversationsWidgets.begin();
conversations_widgets_map::const_iterator end = mConversationsWidgets.end();
const LLUUID * conversation_uuidp = NULL;
while(iter != end)
{
- if (iter->second == conversation_itemp)
+ if (iter->second == selectedItem || iter->second == selectedItem->getParentFolder())
{
conversation_uuidp = &iter->first;
break;