summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloatercontainer.cpp
diff options
context:
space:
mode:
authorGilbert Gonzales <gilbert@lindenlab.com>2012-09-14 18:48:46 -0700
committerGilbert Gonzales <gilbert@lindenlab.com>2012-09-14 18:48:46 -0700
commit0f86aa86f1780f70f125254d2108a33fcd9a7514 (patch)
tree3e31eeee14b6bc03401ced16d6c12606ebe38136 /indra/newview/llimfloatercontainer.cpp
parent399ba09c08d8ccaf9b34daa8b743f837639b2f35 (diff)
parent72f6bebe59f5f900af02a4d234a4091a3e034529 (diff)
merging in latest changes
Diffstat (limited to 'indra/newview/llimfloatercontainer.cpp')
-rwxr-xr-xindra/newview/llimfloatercontainer.cpp26
1 files changed, 21 insertions, 5 deletions
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index e039702683..5aaf176aca 100755
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -183,9 +183,9 @@ void LLIMFloaterContainer::onOpen(const LLSD& key)
}
// virtual
-void LLIMFloaterContainer::addFloater(LLFloater* floaterp,
- BOOL select_added_floater,
- LLTabContainer::eInsertionPoint insertion_point)
+void LLIMFloaterContainer::addFloater(LLFloater* floaterp,
+ BOOL select_added_floater,
+ LLTabContainer::eInsertionPoint insertion_point)
{
if(!floaterp) return;
@@ -427,7 +427,10 @@ void LLIMFloaterContainer::setVisible(BOOL visible)
for (;widget_it != mConversationsWidgets.end(); ++widget_it)
{
LLConversationViewSession* widget = dynamic_cast<LLConversationViewSession*>(widget_it->second);
- widget->setVisibleIfDetached(visible);
+ if (widget)
+ {
+ widget->setVisibleIfDetached(visible);
+ }
}
// Now, do the normal multifloater show/hide
@@ -608,6 +611,16 @@ void LLIMFloaterContainer::repositioningWidgets()
}
}
+void LLIMFloaterContainer::setConvItemSelect(LLUUID& session_id)
+{
+ LLFolderViewItem* widget = mConversationsWidgets[session_id];
+ if (widget && mSelectedSession != session_id)
+ {
+ mSelectedSession = session_id;
+ (widget->getRoot())->setSelection(widget, FALSE, FALSE);
+ }
+}
+
void LLIMFloaterContainer::addConversationListItem(const LLUUID& uuid)
{
bool is_nearby_chat = uuid.isNull();
@@ -675,7 +688,10 @@ void LLIMFloaterContainer::removeConversationListItem(const LLUUID& uuid, bool c
if (widget_it != mConversationsWidgets.end())
{
LLFolderViewItem* widget = widget_it->second;
- widget->destroyView();
+ if (widget)
+ {
+ widget->destroyView();
+ }
}
// Suppress the conversation items and widgets from their respective maps