[LLIMMgr/LLIMPanel Revision] Two last things

Handle display of popped out IM floaters better
send_start_session_messages(): cut early if ids is empty, fallback on UDP if there is a region but there isn't ChatSessionRequest Cap
This commit is contained in:
Inusaito Sayori
2013-10-10 04:21:19 -04:00
parent 363fa450fb
commit 2f334b021f
2 changed files with 8 additions and 5 deletions

View File

@@ -226,6 +226,7 @@ bool send_start_session_messages(
}
else if ( dialog == IM_SESSION_CONFERENCE_START )
{
if (ids.empty()) return true;
LLSD agents;
for (int i = 0; i < (S32) ids.size(); i++)
{
@@ -234,10 +235,9 @@ bool send_start_session_messages(
//we have a new way of starting conference calls now
LLViewerRegion* region = gAgent.getRegion();
if (region)
std::string url(region ? region->getCapability("ChatSessionRequest") : "");
if (!url.empty())
{
std::string url = region->getCapability(
"ChatSessionRequest");
LLSD data;
data["method"] = "start conference";
data["session-id"] = temp_session_id;

View File

@@ -157,10 +157,13 @@ public:
if ((mInvitiationType == LLIMMgr::INVITATION_TYPE_VOICE
|| mInvitiationType == LLIMMgr::INVITATION_TYPE_IMMEDIATE)
&& gIMMgr->hasSession(mSessionID))
&& floater)
{
// always open IM window when connecting to voice
LLFloaterChatterBox::showInstance(TRUE);
if (floater->getParent() == gFloaterView)
floater->open();
else
LLFloaterChatterBox::showInstance(TRUE);
}
gIMMgr->clearPendingAgentListUpdates(mSessionID);