aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorHomer Horwitz2009-05-09 21:11:12 +0000
committerHomer Horwitz2009-05-09 21:11:12 +0000
commit1d234ca83f64b31b559ace3f63ebbba9f4903778 (patch)
tree887ba461d3ff20432806672786cbb82ff39b9aa4 /OpenSim/Region
parent* Code to make MRM debugging easier. (diff)
downloadopensim-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')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs10
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs4
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;