summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2012-10-31 19:27:41 -0700
committerMerov Linden <merov@lindenlab.com>2012-10-31 19:27:41 -0700
commit7f2ea292e10b10958b3e00a641b50b194f131e41 (patch)
treefc99351b0a50c9182ff5d35397f130b0c47a97fb /indra/newview
parente672984a48a99d4a920bba015db6ce46a1f779f0 (diff)
CHUI-474 : Fixed. Refresh the participants list in torn off dialog more often.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llimconversation.cpp40
1 files changed, 39 insertions, 1 deletions
diff --git a/indra/newview/llimconversation.cpp b/indra/newview/llimconversation.cpp
index 3b6294f43b..aee6642150 100644
--- a/indra/newview/llimconversation.cpp
+++ b/indra/newview/llimconversation.cpp
@@ -376,7 +376,44 @@ void LLIMConversation::updateConversationViewParticipant(const LLUUID& participa
void LLIMConversation::refreshConversation()
{
- // *TODO: check that all participant models do have a view (debug consistency check)
+ // Debug : Check that all participant models do have a view (debug consistency check)
+ /*
+ LLParticipantList* item = getParticipantList();
+ llinfos << "Merov debug : Start consistency check" << llendl;
+ LLFolderViewModelItemCommon::child_list_t::const_iterator current_participant_model = item->getChildrenBegin();
+ LLFolderViewModelItemCommon::child_list_t::const_iterator end_participant_model = item->getChildrenEnd();
+ while (current_participant_model != end_participant_model)
+ {
+ LLConversationItemParticipant* participant_model = dynamic_cast<LLConversationItemParticipant*>(*current_participant_model);
+ if (participant_model != NULL)
+ {
+ LLUUID uuid = participant_model->getUUID();
+ LLFolderViewItem* widget = get_ptr_in_map(mConversationsWidgets,uuid);
+ if (!widget)
+ {
+ llinfos << "Merov debug : Consistency error! Couldn't find widget for " << participant_model->getName() << llendl;
+ }
+ else
+ {
+ llinfos << "Merov debug : Consistency check pass for " << participant_model->getName() << llendl;
+ }
+ }
+ else
+ {
+ llinfos << "Merov debug : Consistency check, skip non participant child" << llendl;
+ }
+ current_participant_model++;
+ }
+ llinfos << "Merov debug : End consistency check" << llendl;
+ */
+
+ conversations_widgets_map::iterator widget_it = mConversationsWidgets.begin();
+ while (widget_it != mConversationsWidgets.end())
+ {
+ widget_it->second->refresh();
+ widget_it->second->setVisible(TRUE);
+ ++widget_it;
+ }
mConversationViewModel.requestSortAll();
mConversationsRoot->arrangeAll();
mConversationsRoot->update();
@@ -629,6 +666,7 @@ void LLIMConversation::onTearOffClicked()
initRectControl();
LLFloater::onClickTearOff(this);
updateHeaderAndToolbar();
+ refreshConversation();
}
// static