diff options
Diffstat (limited to 'OpenSim/Services')
-rw-r--r-- | OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs index 56e7475..9005e94 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianInventoryServiceConnector.cs | |||
@@ -583,6 +583,14 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
583 | { "Permissions", permissions } | 583 | { "Permissions", permissions } |
584 | }; | 584 | }; |
585 | 585 | ||
586 | // Add different asset type only if it differs from inventory type | ||
587 | // (needed for links) | ||
588 | string invContentType = SLUtil.SLInvTypeToContentType(item.InvType); | ||
589 | string assetContentType = SLUtil.SLAssetTypeToContentType(item.AssetType); | ||
590 | |||
591 | if (invContentType != assetContentType) | ||
592 | extraData["LinkedItemType"] = OSD.FromString(assetContentType); | ||
593 | |||
586 | NameValueCollection requestArgs = new NameValueCollection | 594 | NameValueCollection requestArgs = new NameValueCollection |
587 | { | 595 | { |
588 | { "RequestMethod", "AddInventoryItem" }, | 596 | { "RequestMethod", "AddInventoryItem" }, |
@@ -593,6 +601,7 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
593 | { "Name", item.Name }, | 601 | { "Name", item.Name }, |
594 | { "Description", item.Description }, | 602 | { "Description", item.Description }, |
595 | { "CreatorID", item.CreatorId }, | 603 | { "CreatorID", item.CreatorId }, |
604 | { "ContentType", invContentType }, | ||
596 | { "ExtraData", OSDParser.SerializeJsonString(extraData) } | 605 | { "ExtraData", OSDParser.SerializeJsonString(extraData) } |
597 | }; | 606 | }; |
598 | 607 | ||
@@ -781,6 +790,9 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
781 | invItem.GroupPermissions = perms["GroupMask"].AsUInteger(); | 790 | invItem.GroupPermissions = perms["GroupMask"].AsUInteger(); |
782 | invItem.NextPermissions = perms["NextOwnerMask"].AsUInteger(); | 791 | invItem.NextPermissions = perms["NextOwnerMask"].AsUInteger(); |
783 | } | 792 | } |
793 | |||
794 | if (extraData.ContainsKey("LinkedItemType")) | ||
795 | invItem.AssetType = extraData["LinkedItemType"].AsInteger(); | ||
784 | } | 796 | } |
785 | 797 | ||
786 | if (invItem.BasePermissions == 0) | 798 | if (invItem.BasePermissions == 0) |