diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 91a977b84fe4d7f8100e0e6ca21378f4ecca1c44..12ec663a938ceb9a9fa08b67865e7eadd9d7a914 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -216,6 +216,7 @@ #include "threadpool.h" +#include "llfloatersidepanelcontainer.h" #if LL_WINDOWS #include "lldxhardware.h" @@ -1558,6 +1559,12 @@ bool idle_startup() LLViewerParcelAskPlay::getInstance()->loadSettings(); } + // Create people views early enough to register with avatar tracker + LLFloaterSidePanelContainer::getPanel("people", "panel_people"); + + // Create search early enough to not cause stutter + LLFloaterReg::getInstance("search"); + // *Note: this is where gWorldMap used to be initialized. // register null callbacks for audio until the audio system is initialized @@ -1809,6 +1816,11 @@ bool idle_startup() display_startup(); + // request all group information + LL_INFOS() << "Requesting Agent Data" << LL_ENDL; + gAgent.sendAgentDataUpdateRequest(); + display_startup(); + // Inform simulator of our language preference LLAgentLanguage::update(); @@ -1871,16 +1883,17 @@ bool idle_startup() if(buddy_list.isDefined()) { LLAvatarTracker::buddy_map_t list; - LLUUID agent_id; - S32 has_rights = 0, given_rights = 0; for(LLSD::array_const_iterator it = buddy_list.beginArray(), end = buddy_list.endArray(); it != end; ++it) { + LLUUID agent_id; + S32 has_rights = 0, given_rights = 0; LLSD buddy_id = (*it)["buddy_id"]; if(buddy_id.isDefined()) { agent_id = buddy_id.asUUID(); } + else continue; LLSD buddy_rights_has = (*it)["buddy_rights_has"]; if(buddy_rights_has.isDefined()) @@ -1986,10 +1999,6 @@ bool idle_startup() LLLandmark::registerCallbacks(msg); display_startup(); - // request all group information - LL_INFOS() << "Requesting Agent Data" << LL_ENDL; - gAgent.sendAgentDataUpdateRequest(); - display_startup(); if (gSavedSettings.getBOOL("LocalInventoryEnabled")) { gLocalInventory = gInventory.createNewCategory(LLUUID::null,