diff options
author | Merov Linden <merov@lindenlab.com> | 2012-10-25 18:16:56 -0700 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2012-10-25 18:16:56 -0700 |
commit | d49de3a66a5476f4541f15dc61c68e0e509c4c70 (patch) | |
tree | 7b1245ccbc660130e7973999af04acbb1d19349c /indra/newview/llconversationview.cpp | |
parent | b5d76c2b55666083279580f383e5a7b139517504 (diff) |
CHUI-441 : WIP : Fix crashes when spawning torn off floaters, added widgets creation in the torn off floater for participants.
Diffstat (limited to 'indra/newview/llconversationview.cpp')
-rwxr-xr-x | indra/newview/llconversationview.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 9144f402b4..2d5665190f 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -234,9 +234,9 @@ void LLConversationViewSession::toggleOpen() void LLConversationViewSession::selectItem() { - - LLConversationItem* item = dynamic_cast<LLConversationItem*>(mViewModelItem); - LLFloater* session_floater = LLIMConversation::getConversation(item->getUUID()); + LLFolderViewModelItem* item = mViewModelItem; + LLUUID session_uuid = dynamic_cast<LLConversationItem*>(item)->getUUID(); + LLFloater* session_floater = LLIMConversation::getConversation(session_uuid); LLMultiFloater* host_floater = session_floater->getHost(); if (host_floater == mContainer) @@ -250,7 +250,7 @@ void LLConversationViewSession::selectItem() // Set the focus on the selected floater session_floater->setFocus(TRUE); // Store the active session - LLIMFloaterContainer::getInstance()->setSelectedSession(item->getUUID()); + LLIMFloaterContainer::getInstance()->setSelectedSession(session_uuid); LLFolderViewItem::selectItem(); @@ -272,8 +272,9 @@ void LLConversationViewSession::setVisibleIfDetached(BOOL visible) { // Do this only if the conversation floater has been torn off (i.e. no multi floater host) and is not minimized // Note: minimized dockable floaters are brought to front hence unminimized when made visible and we don't want that here - LLConversationItem* item = dynamic_cast<LLConversationItem*>(mViewModelItem); - LLFloater* session_floater = LLIMConversation::getConversation(item->getUUID()); + LLFolderViewModelItem* item = mViewModelItem; + LLUUID session_uuid = dynamic_cast<LLConversationItem*>(item)->getUUID(); + LLFloater* session_floater = LLIMConversation::getConversation(session_uuid); if (session_floater && !session_floater->getHost() && !session_floater->isMinimized()) { |