summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llconversationmodel.cpp1
-rwxr-xr-xindra/newview/llconversationmodel.h1
-rw-r--r--indra/newview/llimfloater.h2
-rwxr-xr-xindra/newview/llimfloatercontainer.cpp9
4 files changed, 10 insertions, 3 deletions
diff --git a/indra/newview/llconversationmodel.cpp b/indra/newview/llconversationmodel.cpp
index 1c4c7aefae..f587ef8428 100644
--- a/indra/newview/llconversationmodel.cpp
+++ b/indra/newview/llconversationmodel.cpp
@@ -28,7 +28,6 @@
#include "llviewerprecompiledheaders.h"
#include "llconversationmodel.h"
-#include "llmenugl.h"
//
// Conversation items : common behaviors
diff --git a/indra/newview/llconversationmodel.h b/indra/newview/llconversationmodel.h
index 43fa66e8e2..f84fbe39f1 100755
--- a/indra/newview/llconversationmodel.h
+++ b/indra/newview/llconversationmodel.h
@@ -285,6 +285,7 @@ private:
// are set as enabled.
//(defined in inventorybridge.cpp)
+//TODO: Gilbert Linden - Refactor to make this function non-global
void hide_context_entries(LLMenuGL& menu,
const menuentry_vec_t &entries_to_show,
const menuentry_vec_t &disabled_entries);
diff --git a/indra/newview/llimfloater.h b/indra/newview/llimfloater.h
index fbaf009939..489e430b26 100644
--- a/indra/newview/llimfloater.h
+++ b/indra/newview/llimfloater.h
@@ -128,7 +128,7 @@ public:
static void onIMChicletCreated(const LLUUID& session_id);
bool getStartConferenceInSameFloater() const { return mStartConferenceInSameFloater; }
- LLUUID getOtherParticipantUUID() {return mOtherParticipantUUID;}
+ const LLUUID& getOtherParticipantUUID() {return mOtherParticipantUUID;}
static boost::signals2::connection setIMFloaterShowedCallback(const floater_showed_signal_t::slot_type& cb);
static floater_showed_signal_t sIMFloaterShowedSignal;
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index b4802c71f9..58d2020801 100755
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -689,13 +689,20 @@ void LLIMFloaterContainer::doToSelected(const LLSD& userdata)
LLIMFloater * conversation;
getSelectedUUIDs(selected_uuids);
+ //Find the conversation floater associated with the selected id
conversation = LLIMFloater::findInstance(selected_uuids.front());
-
+
+ //When a one-on-one conversation exists, retrieve the participant id from the conversation floater b/c
+ //selected_uuids.front() does not pertain to the UUID of the person you are having the conversation with.
if(conversation &&
+ mConversationsRoot &&
+ mConversationsRoot->getCurSelectedItem() &&
+ mConversationsRoot->getCurSelectedItem()->getViewModelItem() &&
static_cast<LLConversationItem *>(mConversationsRoot->getCurSelectedItem()->getViewModelItem())->getType() == LLConversationItem::CONV_SESSION_1_ON_1)
{
currentSelectedUUID = conversation->getOtherParticipantUUID();
}
+ //Otherwise can get the UUID directly from selected_uuids
else
{
currentSelectedUUID = selected_uuids.front();