aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-03-10 21:56:15 +0000
committerJustin Clark-Casey (justincc)2011-03-10 21:56:15 +0000
commitb821f748ac591258f015ecf3ba8011d5561c488d (patch)
tree8b5ca932c93911faea4fa8603a7452cd2de9f90f /OpenSim/Region/Framework
parentin AssetHelpers.CreateAsset(), create objects using the 'original' xml format... (diff)
downloadopensim-SC-b821f748ac591258f015ecf3ba8011d5561c488d.zip
opensim-SC-b821f748ac591258f015ecf3ba8011d5561c488d.tar.gz
opensim-SC-b821f748ac591258f015ecf3ba8011d5561c488d.tar.bz2
opensim-SC-b821f748ac591258f015ecf3ba8011d5561c488d.tar.xz
For objects loaded from an IAR, make sure the CreatorID points towards the OSP resolved ID if newer CreationData is not present.
This should resolve issues where the creator for rezzed objects was being shown as "Unknown user" where previous behaviour was to show the OSP resolved account. This is being done by parsing the serialized objects and updating the CreatorID if no CreationData exists. This operation might be expensive for sculpties where the sculpt texture is inlined with the object data. Will just have to see. This relies on the IAR streaming inventory data before asset data (as is currently the case). Will need to introduce more stringent checks for file order on loading (much like JAR zips must start with the manifest file). This is for IAR loading only. Tests updated to check this behaviour.
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs8
1 files changed, 6 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
index 67e59c6..fa404c0 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
@@ -1089,9 +1089,13 @@ namespace OpenSim.Region.Framework.Scenes
1089 1089
1090 public Dictionary<UUID, string> GetScriptStates() 1090 public Dictionary<UUID, string> GetScriptStates()
1091 { 1091 {
1092 Dictionary<UUID, string> ret = new Dictionary<UUID, string>();
1093
1094 if (m_part.ParentGroup.Scene == null) // Group not in a scene
1095 return ret;
1096
1092 IScriptModule[] engines = m_part.ParentGroup.Scene.RequestModuleInterfaces<IScriptModule>(); 1097 IScriptModule[] engines = m_part.ParentGroup.Scene.RequestModuleInterfaces<IScriptModule>();
1093 1098
1094 Dictionary<UUID, string> ret = new Dictionary<UUID, string>();
1095 if (engines == null) // No engine at all 1099 if (engines == null) // No engine at all
1096 return ret; 1100 return ret;
1097 1101