diff options
author | Homer Horwitz | 2009-05-09 21:11:12 +0000 |
---|---|---|
committer | Homer Horwitz | 2009-05-09 21:11:12 +0000 |
commit | 1d234ca83f64b31b559ace3f63ebbba9f4903778 (patch) | |
tree | 887ba461d3ff20432806672786cbb82ff39b9aa4 /OpenSim/Region | |
parent | * Code to make MRM debugging easier. (diff) | |
download | opensim-SC-1d234ca83f64b31b559ace3f63ebbba9f4903778.zip opensim-SC-1d234ca83f64b31b559ace3f63ebbba9f4903778.tar.gz opensim-SC-1d234ca83f64b31b559ace3f63ebbba9f4903778.tar.bz2 opensim-SC-1d234ca83f64b31b559ace3f63ebbba9f4903778.tar.xz |
Fixed handling of inventory a bit
- AssetType isn't InventoryType. Those enums contain different numbers. Use AssetType for the asset type, InventoryType for the inventory type.
- The ToString method (or ToLower) of AssetType/InventoryType doesn't necessarily return the correct LLSD string.
- Replaced several magic numbers by their corresponding enum.
- Fixed the invType for gestures and animations in the library.
This should fix Mantis #3610 and the non-terminating inventory loading
Diffstat (limited to 'OpenSim/Region')
3 files changed, 10 insertions, 10 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 88416d3..1dcdc06 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -490,7 +490,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
490 | 490 | ||
491 | if (Permissions.PropagatePermissions()) | 491 | if (Permissions.PropagatePermissions()) |
492 | { | 492 | { |
493 | if (item.InvType == 6) | 493 | if (item.InvType == (int)InventoryType.Object) |
494 | { | 494 | { |
495 | itemCopy.BasePermissions &= ~(uint)(PermissionMask.Copy | PermissionMask.Modify | PermissionMask.Transfer); | 495 | itemCopy.BasePermissions &= ~(uint)(PermissionMask.Copy | PermissionMask.Modify | PermissionMask.Transfer); |
496 | itemCopy.BasePermissions |= (item.CurrentPermissions & 7) << 13; | 496 | itemCopy.BasePermissions |= (item.CurrentPermissions & 7) << 13; |
@@ -899,7 +899,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
899 | TryGetAvatar(remoteClient.AgentId, out presence); | 899 | TryGetAvatar(remoteClient.AgentId, out presence); |
900 | byte[] data = null; | 900 | byte[] data = null; |
901 | 901 | ||
902 | if (invType == 3 && presence != null) // OpenMetaverse.asset.assettype.landmark = 3 - needs to be turned into an enum | 902 | if (invType == (sbyte)InventoryType.Landmark && presence != null) |
903 | { | 903 | { |
904 | Vector3 pos = presence.AbsolutePosition; | 904 | Vector3 pos = presence.AbsolutePosition; |
905 | string strdata = String.Format( | 905 | string strdata = String.Format( |
@@ -1098,7 +1098,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1098 | 1098 | ||
1099 | if ((part.OwnerID != destAgent) && Permissions.PropagatePermissions()) | 1099 | if ((part.OwnerID != destAgent) && Permissions.PropagatePermissions()) |
1100 | { | 1100 | { |
1101 | if (taskItem.InvType == 6) | 1101 | if (taskItem.InvType == (int)InventoryType.Object) |
1102 | agentItem.BasePermissions = taskItem.BasePermissions & ((taskItem.CurrentPermissions & 7) << 13); | 1102 | agentItem.BasePermissions = taskItem.BasePermissions & ((taskItem.CurrentPermissions & 7) << 13); |
1103 | else | 1103 | else |
1104 | agentItem.BasePermissions = taskItem.BasePermissions; | 1104 | agentItem.BasePermissions = taskItem.BasePermissions; |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs index 6bf1654..d03fec2 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs | |||
@@ -776,7 +776,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
776 | 776 | ||
777 | foreach (TaskInventoryItem item in m_items.Values) | 777 | foreach (TaskInventoryItem item in m_items.Values) |
778 | { | 778 | { |
779 | if (item.InvType != 6) | 779 | if (item.InvType != (int)InventoryType.Object) |
780 | { | 780 | { |
781 | if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Copy) == 0) | 781 | if ((item.CurrentPermissions & item.NextPermissions & (uint)PermissionMask.Copy) == 0) |
782 | mask &= ~((uint)PermissionMask.Copy >> 13); | 782 | mask &= ~((uint)PermissionMask.Copy >> 13); |
@@ -809,7 +809,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
809 | { | 809 | { |
810 | foreach (TaskInventoryItem item in m_items.Values) | 810 | foreach (TaskInventoryItem item in m_items.Values) |
811 | { | 811 | { |
812 | if (item.InvType == 6 && (item.CurrentPermissions & 7) != 0) | 812 | if (item.InvType == (int)InventoryType.Object && (item.CurrentPermissions & 7) != 0) |
813 | { | 813 | { |
814 | if ((item.CurrentPermissions & ((uint)PermissionMask.Copy >> 13)) == 0) | 814 | if ((item.CurrentPermissions & ((uint)PermissionMask.Copy >> 13)) == 0) |
815 | item.CurrentPermissions &= ~(uint)PermissionMask.Copy; | 815 | item.CurrentPermissions &= ~(uint)PermissionMask.Copy; |
@@ -840,7 +840,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
840 | { | 840 | { |
841 | foreach (TaskInventoryItem item in m_items.Values) | 841 | foreach (TaskInventoryItem item in m_items.Values) |
842 | { | 842 | { |
843 | if (item.InvType == 10) | 843 | if (item.InvType == (int)InventoryType.LSL) |
844 | { | 844 | { |
845 | return true; | 845 | return true; |
846 | } | 846 | } |
@@ -866,7 +866,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
866 | 866 | ||
867 | foreach (TaskInventoryItem item in m_items.Values) | 867 | foreach (TaskInventoryItem item in m_items.Values) |
868 | { | 868 | { |
869 | if (item.InvType == 10) | 869 | if (item.InvType == (int)InventoryType.LSL) |
870 | { | 870 | { |
871 | foreach (IScriptModule e in engines) | 871 | foreach (IScriptModule e in engines) |
872 | { | 872 | { |
@@ -890,7 +890,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
890 | 890 | ||
891 | foreach (TaskInventoryItem item in m_items.Values) | 891 | foreach (TaskInventoryItem item in m_items.Values) |
892 | { | 892 | { |
893 | if (item.InvType == 10) | 893 | if (item.InvType == (int)InventoryType.LSL) |
894 | { | 894 | { |
895 | foreach (IScriptModule e in engines) | 895 | foreach (IScriptModule e in engines) |
896 | { | 896 | { |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 1cd25e7..e5c59aa 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -1351,8 +1351,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1351 | taskItem.CreationDate = (uint)Util.UnixTimeSinceEpoch(); | 1351 | taskItem.CreationDate = (uint)Util.UnixTimeSinceEpoch(); |
1352 | taskItem.Name = asset.Name; | 1352 | taskItem.Name = asset.Name; |
1353 | taskItem.Description = asset.Description; | 1353 | taskItem.Description = asset.Description; |
1354 | taskItem.Type = 7; | 1354 | taskItem.Type = (int)AssetType.Notecard; |
1355 | taskItem.InvType = 7; | 1355 | taskItem.InvType = (int)InventoryType.Notecard; |
1356 | taskItem.OwnerID = m_host.OwnerID; | 1356 | taskItem.OwnerID = m_host.OwnerID; |
1357 | taskItem.CreatorID = m_host.OwnerID; | 1357 | taskItem.CreatorID = m_host.OwnerID; |
1358 | taskItem.BasePermissions = (uint)PermissionMask.All; | 1358 | taskItem.BasePermissions = (uint)PermissionMask.All; |