[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:
@@ -226,6 +226,7 @@ bool send_start_session_messages(
|
|||||||
}
|
}
|
||||||
else if ( dialog == IM_SESSION_CONFERENCE_START )
|
else if ( dialog == IM_SESSION_CONFERENCE_START )
|
||||||
{
|
{
|
||||||
|
if (ids.empty()) return true;
|
||||||
LLSD agents;
|
LLSD agents;
|
||||||
for (int i = 0; i < (S32) ids.size(); i++)
|
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
|
//we have a new way of starting conference calls now
|
||||||
LLViewerRegion* region = gAgent.getRegion();
|
LLViewerRegion* region = gAgent.getRegion();
|
||||||
if (region)
|
std::string url(region ? region->getCapability("ChatSessionRequest") : "");
|
||||||
|
if (!url.empty())
|
||||||
{
|
{
|
||||||
std::string url = region->getCapability(
|
|
||||||
"ChatSessionRequest");
|
|
||||||
LLSD data;
|
LLSD data;
|
||||||
data["method"] = "start conference";
|
data["method"] = "start conference";
|
||||||
data["session-id"] = temp_session_id;
|
data["session-id"] = temp_session_id;
|
||||||
|
|||||||
@@ -157,10 +157,13 @@ public:
|
|||||||
|
|
||||||
if ((mInvitiationType == LLIMMgr::INVITATION_TYPE_VOICE
|
if ((mInvitiationType == LLIMMgr::INVITATION_TYPE_VOICE
|
||||||
|| mInvitiationType == LLIMMgr::INVITATION_TYPE_IMMEDIATE)
|
|| mInvitiationType == LLIMMgr::INVITATION_TYPE_IMMEDIATE)
|
||||||
&& gIMMgr->hasSession(mSessionID))
|
&& floater)
|
||||||
{
|
{
|
||||||
// always open IM window when connecting to voice
|
// always open IM window when connecting to voice
|
||||||
LLFloaterChatterBox::showInstance(TRUE);
|
if (floater->getParent() == gFloaterView)
|
||||||
|
floater->open();
|
||||||
|
else
|
||||||
|
LLFloaterChatterBox::showInstance(TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
gIMMgr->clearPendingAgentListUpdates(mSessionID);
|
gIMMgr->clearPendingAgentListUpdates(mSessionID);
|
||||||
|
|||||||
Reference in New Issue
Block a user