avoid some broken object assets present in osgrid inventories due to past problems, etc
parent
1bfe4da378
commit
11d3860781
|
@ -381,6 +381,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
||||||
string errorMessage = string.Format("Aborted save. Could not find inventory path {0}", m_invPath);
|
string errorMessage = string.Format("Aborted save. Could not find inventory path {0}", m_invPath);
|
||||||
Exception e = new InventoryArchiverException(errorMessage);
|
Exception e = new InventoryArchiverException(errorMessage);
|
||||||
m_module.TriggerInventoryArchiveSaved(m_id, false, m_userInfo, m_invPath, m_saveStream, e, 0, 0);
|
m_module.TriggerInventoryArchiveSaved(m_id, false, m_userInfo, m_invPath, m_saveStream, e, 0, 0);
|
||||||
|
if(m_saveStream != null && m_saveStream.CanWrite)
|
||||||
|
m_saveStream.Close();
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -218,7 +218,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
||||||
// {
|
// {
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
new InventoryArchiveWriteRequest(id, this, m_aScene, userInfo, invPath, saveStream).Execute(options, UserAccountService);
|
InventoryArchiveWriteRequest iarReq = new InventoryArchiveWriteRequest(id, this, m_aScene, userInfo, invPath, saveStream);
|
||||||
|
iarReq.Execute(options, UserAccountService);
|
||||||
}
|
}
|
||||||
catch (EntryPointNotFoundException e)
|
catch (EntryPointNotFoundException e)
|
||||||
{
|
{
|
||||||
|
@ -261,7 +262,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
||||||
// {
|
// {
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
new InventoryArchiveWriteRequest(id, this, m_aScene, userInfo, invPath, savePath).Execute(options, UserAccountService);
|
InventoryArchiveWriteRequest iarReq = new InventoryArchiveWriteRequest(id, this, m_aScene, userInfo, invPath, savePath);
|
||||||
|
iarReq.Execute(options, UserAccountService);
|
||||||
}
|
}
|
||||||
catch (EntryPointNotFoundException e)
|
catch (EntryPointNotFoundException e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -142,6 +142,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
// m_log.DebugFormat(
|
// m_log.DebugFormat(
|
||||||
// "[ASSET GATHERER]: Getting assets for object {0}, {1}", sceneObject.Name, sceneObject.UUID);
|
// "[ASSET GATHERER]: Getting assets for object {0}, {1}", sceneObject.Name, sceneObject.UUID);
|
||||||
|
if(sceneObject.IsDeleted)
|
||||||
|
return;
|
||||||
|
|
||||||
SceneObjectPart[] parts = sceneObject.Parts;
|
SceneObjectPart[] parts = sceneObject.Parts;
|
||||||
for (int i = 0; i < parts.Length; i++)
|
for (int i = 0; i < parts.Length; i++)
|
||||||
|
@ -489,6 +491,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// <param name="sceneObjectAsset"></param>
|
/// <param name="sceneObjectAsset"></param>
|
||||||
private void RecordSceneObjectAssetUuids(AssetBase sceneObjectAsset)
|
private void RecordSceneObjectAssetUuids(AssetBase sceneObjectAsset)
|
||||||
{
|
{
|
||||||
|
if(sceneObjectAsset.Data == null || sceneObjectAsset.Data.Length == 0)
|
||||||
|
{
|
||||||
|
m_log.WarnFormat("[UUIDgatherer] Error: object asset '{0}' id: {1} has no data",
|
||||||
|
sceneObjectAsset.Name,sceneObjectAsset.ID.ToString());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
string xml = Utils.BytesToString(sceneObjectAsset.Data);
|
string xml = Utils.BytesToString(sceneObjectAsset.Data);
|
||||||
|
|
||||||
CoalescedSceneObjects coa;
|
CoalescedSceneObjects coa;
|
||||||
|
|
Loading…
Reference in New Issue