Attempt to fix mantis issue #82, taking prims into inventory and then rezzing them in another region.
parent
5ae8759de1
commit
ac77c32453
|
@ -55,14 +55,20 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
}
|
}
|
||||||
else if (RootFolder.folderID == folderInfo.parentID)
|
else if (RootFolder.folderID == folderInfo.parentID)
|
||||||
{
|
{
|
||||||
RootFolder.SubFolders.Add(folderInfo.folderID, folderInfo);
|
if (!RootFolder.SubFolders.ContainsKey(folderInfo.folderID))
|
||||||
|
{
|
||||||
|
RootFolder.SubFolders.Add(folderInfo.folderID, folderInfo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
InventoryFolderImpl folder = RootFolder.HasSubFolder(folderInfo.parentID);
|
InventoryFolderImpl folder = RootFolder.HasSubFolder(folderInfo.parentID);
|
||||||
if (folder != null)
|
if (folder != null)
|
||||||
{
|
{
|
||||||
folder.SubFolders.Add(folderInfo.folderID, folderInfo);
|
if (!folder.SubFolders.ContainsKey(folderInfo.folderID))
|
||||||
|
{
|
||||||
|
folder.SubFolders.Add(folderInfo.folderID, folderInfo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -74,14 +80,20 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
{
|
{
|
||||||
if (itemInfo.parentFolderID == RootFolder.folderID)
|
if (itemInfo.parentFolderID == RootFolder.folderID)
|
||||||
{
|
{
|
||||||
RootFolder.Items.Add(itemInfo.inventoryID, itemInfo);
|
if (!RootFolder.Items.ContainsKey(itemInfo.inventoryID))
|
||||||
|
{
|
||||||
|
RootFolder.Items.Add(itemInfo.inventoryID, itemInfo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
InventoryFolderImpl folder = RootFolder.HasSubFolder(itemInfo.parentFolderID);
|
InventoryFolderImpl folder = RootFolder.HasSubFolder(itemInfo.parentFolderID);
|
||||||
if (folder != null)
|
if (folder != null)
|
||||||
{
|
{
|
||||||
folder.Items.Add(itemInfo.inventoryID, itemInfo);
|
if (!folder.Items.ContainsKey(itemInfo.inventoryID))
|
||||||
|
{
|
||||||
|
folder.Items.Add(itemInfo.inventoryID, itemInfo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,6 +72,15 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void UpdateUserInventory(LLUUID userID)
|
||||||
|
{
|
||||||
|
CachedUserInfo userInfo = GetUserDetails(userID);
|
||||||
|
if (userInfo != null)
|
||||||
|
{
|
||||||
|
RequestInventoryForUser(userID, userInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public CachedUserInfo GetUserDetails(LLUUID userID)
|
public CachedUserInfo GetUserDetails(LLUUID userID)
|
||||||
{
|
{
|
||||||
if (m_userProfiles.ContainsKey(userID))
|
if (m_userProfiles.ContainsKey(userID))
|
||||||
|
|
|
@ -211,7 +211,7 @@ namespace OpenSim.Framework.Servers
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
System.Console.WriteLine("Handler not found for http request " +request.RawUrl);
|
System.Console.WriteLine("Handler not found for http request " +request.RawUrl);
|
||||||
responseString = "Error";
|
responseString = "Error";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -106,6 +106,7 @@ namespace OpenSim.Region.Communications.OGS1
|
||||||
request.ItemCallBack(userID, item);
|
request.ItemCallBack(userID, item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
m_RequestingInventory.Remove(userID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -425,6 +425,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
|
|
||||||
public void MakeRootAgent(LLVector3 pos, bool isFlying)
|
public void MakeRootAgent(LLVector3 pos, bool isFlying)
|
||||||
{
|
{
|
||||||
|
|
||||||
m_newAvatar = true;
|
m_newAvatar = true;
|
||||||
m_isChildAgent = false;
|
m_isChildAgent = false;
|
||||||
|
|
||||||
|
@ -433,6 +434,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
AddToPhysicalScene();
|
AddToPhysicalScene();
|
||||||
m_physicsActor.Flying = isFlying;
|
m_physicsActor.Flying = isFlying;
|
||||||
|
|
||||||
|
m_scene.CommsManager.UserProfileCacheService.UpdateUserInventory(m_uuid);
|
||||||
//if (!m_gotAllObjectsInScene)
|
//if (!m_gotAllObjectsInScene)
|
||||||
//{
|
//{
|
||||||
//m_scene.SendAllSceneObjectsToClient(this);
|
//m_scene.SendAllSceneObjectsToClient(this);
|
||||||
|
|
Loading…
Reference in New Issue