diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 2fd8901d9e98fc7e26bfa657041ccf0574697ce8..5e0cd8ef78ce35989e3519bfdce18077fb067892 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -1329,6 +1329,9 @@ void LLFloaterIMContainer::showConversation(const LLUUID& session_id) { setVisibleAndFrontmost(false); selectConversationPair(session_id, true); + + LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::findConversation(session_id); + session_floater->restoreFloater(); } void LLFloaterIMContainer::clearAllFlashStates() diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp index 4ae00fcd5fe8aab673e7c07cc4a52b95dd57dcd4..5df1a382cdf0215ed0d5b45df7a7a39513f106f0 100644 --- a/indra/newview/llfloaterimsessiontab.cpp +++ b/indra/newview/llfloaterimsessiontab.cpp @@ -838,6 +838,10 @@ void LLFloaterIMSessionTab::restoreFloater() { if(!isMessagePaneExpanded()) { + if(isMinimized()) + { + setMinimized(false); + } mContentPanel->setVisible(true); mToolbarPanel->setVisible(true); LLRect floater_rect = getRect(); diff --git a/indra/newview/llfloaterimsessiontab.h b/indra/newview/llfloaterimsessiontab.h index e41f63903737230e13352731278a27a99f2b042b..f22e2b57442b2b0f3b32a5ac0c6bbbcda23e128f 100644 --- a/indra/newview/llfloaterimsessiontab.h +++ b/indra/newview/llfloaterimsessiontab.h @@ -100,6 +100,7 @@ class LLFloaterIMSessionTab virtual BOOL handleKeyHere( KEY key, MASK mask ); bool isMessagePaneExpanded(){return mMessagePaneExpanded;} void setMessagePaneExpanded(bool expanded){mMessagePaneExpanded = expanded;} + void restoreFloater(); protected: @@ -115,7 +116,6 @@ class LLFloaterIMSessionTab static void onSlide(LLFloaterIMSessionTab *self); static void onCollapseToLine(LLFloaterIMSessionTab *self); void reshapeFloater(bool collapse); - void restoreFloater(); // refresh a visual state of the Call button void updateCallBtnState(bool callIsActive);