Merge branch 'master' into careminster-presence-refactor
commit
d8bf370fd6
|
@ -3383,7 +3383,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void RegisterCommsEvents()
|
public void RegisterCommsEvents()
|
||||||
{
|
{
|
||||||
m_sceneGridService.OnExpectUser += HandleNewUserConnection;
|
|
||||||
m_sceneGridService.OnAvatarCrossingIntoRegion += AgentCrossing;
|
m_sceneGridService.OnAvatarCrossingIntoRegion += AgentCrossing;
|
||||||
m_sceneGridService.OnCloseAgentConnection += IncomingCloseAgent;
|
m_sceneGridService.OnCloseAgentConnection += IncomingCloseAgent;
|
||||||
//m_eventManager.OnRegionUp += OtherRegionUp;
|
//m_eventManager.OnRegionUp += OtherRegionUp;
|
||||||
|
@ -3404,7 +3403,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
//m_sceneGridService.OnRemoveKnownRegionFromAvatar -= HandleRemoveKnownRegionsFromAvatar;
|
//m_sceneGridService.OnRemoveKnownRegionFromAvatar -= HandleRemoveKnownRegionsFromAvatar;
|
||||||
//m_sceneGridService.OnChildAgentUpdate -= IncomingChildAgentDataUpdate;
|
//m_sceneGridService.OnChildAgentUpdate -= IncomingChildAgentDataUpdate;
|
||||||
//m_eventManager.OnRegionUp -= OtherRegionUp;
|
//m_eventManager.OnRegionUp -= OtherRegionUp;
|
||||||
m_sceneGridService.OnExpectUser -= HandleNewUserConnection;
|
|
||||||
m_sceneGridService.OnAvatarCrossingIntoRegion -= AgentCrossing;
|
m_sceneGridService.OnAvatarCrossingIntoRegion -= AgentCrossing;
|
||||||
m_sceneGridService.OnCloseAgentConnection -= IncomingCloseAgent;
|
m_sceneGridService.OnCloseAgentConnection -= IncomingCloseAgent;
|
||||||
m_sceneGridService.OnGetLandData -= GetLandData;
|
m_sceneGridService.OnGetLandData -= GetLandData;
|
||||||
|
@ -3416,22 +3414,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
m_log.WarnFormat("[SCENE]: Deregister from grid failed for region {0}", m_regInfo.RegionName);
|
m_log.WarnFormat("[SCENE]: Deregister from grid failed for region {0}", m_regInfo.RegionName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// A handler for the SceneCommunicationService event, to match that events return type of void.
|
|
||||||
/// Use NewUserConnection() directly if possible so the return type can refuse connections.
|
|
||||||
/// At the moment nothing actually seems to use this event,
|
|
||||||
/// as everything is switching to calling the NewUserConnection method directly.
|
|
||||||
///
|
|
||||||
/// Now obsoleting this because it doesn't handle teleportFlags propertly
|
|
||||||
///
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="agent"></param>
|
|
||||||
[Obsolete("Please call NewUserConnection directly.")]
|
|
||||||
public void HandleNewUserConnection(AgentCircuitData agent)
|
|
||||||
{
|
|
||||||
string reason;
|
|
||||||
NewUserConnection(agent, 0, out reason);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Do the work necessary to initiate a new user connection for a particular scene.
|
/// Do the work necessary to initiate a new user connection for a particular scene.
|
||||||
|
@ -3492,6 +3474,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
ScenePresence sp = GetScenePresence(agent.AgentID);
|
ScenePresence sp = GetScenePresence(agent.AgentID);
|
||||||
if (sp != null)
|
if (sp != null)
|
||||||
|
{
|
||||||
|
if (sp.IsChildAgent)
|
||||||
{
|
{
|
||||||
m_log.DebugFormat(
|
m_log.DebugFormat(
|
||||||
"[SCENE]: Adjusting known seeds for existing agent {0} in {1}",
|
"[SCENE]: Adjusting known seeds for existing agent {0} in {1}",
|
||||||
|
@ -3501,6 +3485,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// We have a zombie from a crashed session. Kill it.
|
||||||
|
m_log.DebugFormat("[SCENE]: Zombie scene presence detected for {0} in {1}", agent.AgentID, RegionInfo.RegionName);
|
||||||
|
sp.ControllingClient.Close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
CapsModule.AddCapsHandler(agent.AgentID);
|
CapsModule.AddCapsHandler(agent.AgentID);
|
||||||
|
|
||||||
|
|
|
@ -386,7 +386,7 @@ namespace OpenSim.Services.InventoryService
|
||||||
XInventoryItem[] items = m_Database.GetActiveGestures(principalID);
|
XInventoryItem[] items = m_Database.GetActiveGestures(principalID);
|
||||||
|
|
||||||
if (items.Length == 0)
|
if (items.Length == 0)
|
||||||
return null;
|
return new List<InventoryItemBase>();
|
||||||
|
|
||||||
List<InventoryItemBase> ret = new List<InventoryItemBase>();
|
List<InventoryItemBase> ret = new List<InventoryItemBase>();
|
||||||
|
|
||||||
|
|
|
@ -222,12 +222,14 @@ namespace OpenSim.Services.LLLoginService
|
||||||
|
|
||||||
public LLLoginResponse(UserAccount account, AgentCircuitData aCircuit, GridUserInfo pinfo,
|
public LLLoginResponse(UserAccount account, AgentCircuitData aCircuit, GridUserInfo pinfo,
|
||||||
GridRegion destination, List<InventoryFolderBase> invSkel, FriendInfo[] friendsList, ILibraryService libService,
|
GridRegion destination, List<InventoryFolderBase> invSkel, FriendInfo[] friendsList, ILibraryService libService,
|
||||||
string where, string startlocation, Vector3 position, Vector3 lookAt, string message,
|
string where, string startlocation, Vector3 position, Vector3 lookAt, List<InventoryItemBase> gestures, string message,
|
||||||
GridRegion home, IPEndPoint clientIP)
|
GridRegion home, IPEndPoint clientIP)
|
||||||
: this()
|
: this()
|
||||||
{
|
{
|
||||||
FillOutInventoryData(invSkel, libService);
|
FillOutInventoryData(invSkel, libService);
|
||||||
|
|
||||||
|
FillOutActiveGestures(gestures);
|
||||||
|
|
||||||
CircuitCode = (int)aCircuit.circuitcode;
|
CircuitCode = (int)aCircuit.circuitcode;
|
||||||
Lastname = account.LastName;
|
Lastname = account.LastName;
|
||||||
Firstname = account.FirstName;
|
Firstname = account.FirstName;
|
||||||
|
@ -288,6 +290,22 @@ namespace OpenSim.Services.LLLoginService
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void FillOutActiveGestures(List<InventoryItemBase> gestures)
|
||||||
|
{
|
||||||
|
ArrayList list = new ArrayList();
|
||||||
|
if (gestures != null)
|
||||||
|
{
|
||||||
|
foreach (InventoryItemBase gesture in gestures)
|
||||||
|
{
|
||||||
|
Hashtable item = new Hashtable();
|
||||||
|
item["item_id"] = gesture.ID.ToString();
|
||||||
|
item["asset_id"] = gesture.AssetID.ToString();
|
||||||
|
list.Add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ActiveGestures = list;
|
||||||
|
}
|
||||||
|
|
||||||
private void FillOutHomeData(GridUserInfo pinfo, GridRegion home)
|
private void FillOutHomeData(GridUserInfo pinfo, GridRegion home)
|
||||||
{
|
{
|
||||||
int x = 1000 * (int)Constants.RegionSize, y = 1000 * (int)Constants.RegionSize;
|
int x = 1000 * (int)Constants.RegionSize, y = 1000 * (int)Constants.RegionSize;
|
||||||
|
|
|
@ -278,6 +278,10 @@ namespace OpenSim.Services.LLLoginService
|
||||||
return LLFailedLoginResponse.InventoryProblem;
|
return LLFailedLoginResponse.InventoryProblem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get active gestures
|
||||||
|
List<InventoryItemBase> gestures = m_InventoryService.GetActiveGestures(account.PrincipalID);
|
||||||
|
m_log.DebugFormat("[LLOGIN SERVICE]: {0} active gestures", gestures.Count);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Login the presence
|
// Login the presence
|
||||||
//
|
//
|
||||||
|
@ -356,7 +360,7 @@ namespace OpenSim.Services.LLLoginService
|
||||||
// Finally, fill out the response and return it
|
// Finally, fill out the response and return it
|
||||||
//
|
//
|
||||||
LLLoginResponse response = new LLLoginResponse(account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService,
|
LLLoginResponse response = new LLLoginResponse(account, aCircuit, guinfo, destination, inventorySkel, friendsList, m_LibraryService,
|
||||||
where, startLocation, position, lookAt, m_WelcomeMessage, home, clientIP);
|
where, startLocation, position, lookAt, gestures, m_WelcomeMessage, home, clientIP);
|
||||||
|
|
||||||
m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client.");
|
m_log.DebugFormat("[LLOGIN SERVICE]: All clear. Sending login response to client.");
|
||||||
return response;
|
return response;
|
||||||
|
|
Loading…
Reference in New Issue