diff --git a/indra/newview/fsfloaterimcontainer.cpp b/indra/newview/fsfloaterimcontainer.cpp index a161d1687e..07cf154cdf 100644 --- a/indra/newview/fsfloaterimcontainer.cpp +++ b/indra/newview/fsfloaterimcontainer.cpp @@ -86,12 +86,8 @@ BOOL FSFloaterIMContainer::postBuild() return TRUE; } -void FSFloaterIMContainer::onOpen(const LLSD& key) +void FSFloaterIMContainer::initTabs() { - LLMultiFloater::onOpen(key); - - LLFloater* active_floater = getActiveFloater(); - // If we're using multitabs, and we open up for the first time // Add localchat by default if it's not already on the screen somewhere else. -AO // But only if it hasnt been already so we can reopen it to the same tab -KC @@ -140,7 +136,13 @@ void FSFloaterIMContainer::onOpen(const LLSD& key) addFloater(floater_chat, TRUE); } } +} +void FSFloaterIMContainer::onOpen(const LLSD& key) +{ + LLMultiFloater::onOpen(key); + + LLFloater* active_floater = getActiveFloater(); if (active_floater && active_floater != getActiveFloater()) { mTabContainer->selectTabPanel(active_floater); diff --git a/indra/newview/fsfloaterimcontainer.h b/indra/newview/fsfloaterimcontainer.h index 5b4b246cec..d6f1007db0 100644 --- a/indra/newview/fsfloaterimcontainer.h +++ b/indra/newview/fsfloaterimcontainer.h @@ -74,6 +74,7 @@ public: virtual void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id) {}; static void reloadEmptyFloaters(); + void initTabs(); private: enum eVoiceState diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 6af4e80562..70cc2c143b 100755 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1747,7 +1747,8 @@ LLWorld::getInstance()->addRegion(gFirstSimHandle, gFirstSim, first_sim_size_x, // by the voice's events // [FS communication UI] //LLFloaterIMContainer::getInstance(); - FSFloaterIMContainer::getInstance(); + FSFloaterIMContainer* floater_imcontainer = FSFloaterIMContainer::getInstance(); + floater_imcontainer->initTabs(); // FIRE-3066: Force creation or FSFLoaterContacts here, this way it will register with LLAvatarTracker early enough. // Otherwise it is only create if isChatMultriTab() == true and LLIMFloaterContainer::getInstance is called