summaryrefslogtreecommitdiff
path: root/indra/newview/llconversationview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llconversationview.cpp')
-rwxr-xr-xindra/newview/llconversationview.cpp27
1 files changed, 9 insertions, 18 deletions
diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp
index 2d5665190f..3082284991 100755
--- a/indra/newview/llconversationview.cpp
+++ b/indra/newview/llconversationview.cpp
@@ -438,28 +438,19 @@ void LLConversationViewParticipant::selectItem()
LLIMFloaterContainer* container = LLIMFloaterContainer::getInstance();
LLFloater* session_floater;
- //Only execute when switching floaters (conversations)
- if(vmi && vmi->getUUID() != container->getSelectedSession())
+ if(vmi)
{
- //When null, show the nearby chat conversation floater
- if(vmi->getUUID().isNull())
- {
- LLNearbyChat* nearbyChat = LLFloaterReg::findTypedInstance<LLNearbyChat>("nearby_chat");
- nearbyChat->show();
- }
- //Otherwise, show the IM conversation floater
- else
+ session_floater = LLIMConversation::getConversation(vmi->getUUID());
+
+ //Only execute when switching floaters (conversations)
+ if(vmi->getUUID() != container->getSelectedSession())
{
- LLIMFloater::show(vmi->getUUID());
+ container->selectFloater(session_floater);
+ // Store the active session
+ container->setSelectedSession(vmi->getUUID());
}
- // Store the active session
- container->setSelectedSession(vmi->getUUID());
- }
- //Focus the current conversation floater (it is already visible so just focus it)
- else
- {
- session_floater = LLIMConversation::getConversation(vmi->getUUID());
+ //Redirect focus to the conversation floater
session_floater->setFocus(TRUE);
}