aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2010-07-28 18:55:29 +0100
committerJustin Clark-Casey (justincc)2010-07-28 18:55:29 +0100
commit5aa56b12743c19a68cb371609be797e5fb3e2c4b (patch)
tree4b9b23b0e4de1397e16eaa6cd03baa8edfedd7b3
parentcomment out further debug line in BaseHttpServer (diff)
downloadopensim-SC_OLD-5aa56b12743c19a68cb371609be797e5fb3e2c4b.zip
opensim-SC_OLD-5aa56b12743c19a68cb371609be797e5fb3e2c4b.tar.gz
opensim-SC_OLD-5aa56b12743c19a68cb371609be797e5fb3e2c4b.tar.bz2
opensim-SC_OLD-5aa56b12743c19a68cb371609be797e5fb3e2c4b.tar.xz
Fix problem where changes to media textures for prims duplicated by shify copy would change both prims until server restart
I also found out that you can crash the current viewer by giving it more media entrys than it's expecting
-rw-r--r--OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs18
-rw-r--r--OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs12
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs19
3 files changed, 33 insertions, 16 deletions
diff --git a/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs b/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs
index d53f573..6d74b8e 100644
--- a/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs
+++ b/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs
@@ -350,9 +350,9 @@ namespace OpenSim.Region.CoreModules.Media.Moap
350 350
351 if (null == part) 351 if (null == part)
352 { 352 {
353// m_log.WarnFormat( 353 m_log.WarnFormat(
354// "[MOAP]: Received a GET ObjectMediaRequest for prim {0} but this doesn't exist in region {1}", 354 "[MOAP]: Received a GET ObjectMediaRequest for prim {0} but this doesn't exist in region {1}",
355// primId, m_scene.RegionInfo.RegionName); 355 primId, m_scene.RegionInfo.RegionName);
356 return string.Empty; 356 return string.Empty;
357 } 357 }
358 358
@@ -386,9 +386,9 @@ namespace OpenSim.Region.CoreModules.Media.Moap
386 386
387 if (null == part) 387 if (null == part)
388 { 388 {
389// m_log.WarnFormat( 389 m_log.WarnFormat(
390// "[MOAP]: Received an UPDATE ObjectMediaRequest for prim {0} but this doesn't exist in region {1}", 390 "[MOAP]: Received an UPDATE ObjectMediaRequest for prim {0} but this doesn't exist in region {1}",
391// primId, m_scene.RegionInfo.RegionName); 391 primId, m_scene.RegionInfo.RegionName);
392 return string.Empty; 392 return string.Empty;
393 } 393 }
394 394
@@ -403,9 +403,9 @@ namespace OpenSim.Region.CoreModules.Media.Moap
403 403
404 if (omu.FaceMedia.Length > part.GetNumberOfSides()) 404 if (omu.FaceMedia.Length > part.GetNumberOfSides())
405 { 405 {
406// m_log.WarnFormat( 406 m_log.WarnFormat(
407// "[MOAP]: Received {0} media entries from client for prim {1} {2} but this prim has only {3} faces. Dropping request.", 407 "[MOAP]: Received {0} media entries from client for prim {1} {2} but this prim has only {3} faces. Dropping request.",
408// omu.FaceMedia.Length, part.Name, part.UUID, part.GetNumberOfSides()); 408 omu.FaceMedia.Length, part.Name, part.UUID, part.GetNumberOfSides());
409 return string.Empty; 409 return string.Empty;
410 } 410 }
411 411
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
index 982ac52..3a642f4 100644
--- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
@@ -1923,9 +1923,9 @@ namespace OpenSim.Region.CoreModules.World.Permissions
1923 if (null == me) 1923 if (null == me)
1924 return true; 1924 return true;
1925 1925
1926 m_log.DebugFormat( 1926// m_log.DebugFormat(
1927 "[PERMISSIONS]: Checking CanControlPrimMedia for {0} on {1} face {2} with control permissions {3}", 1927// "[PERMISSIONS]: Checking CanControlPrimMedia for {0} on {1} face {2} with control permissions {3}",
1928 agentID, primID, face, me.ControlPermissions); 1928// agentID, primID, face, me.ControlPermissions);
1929 1929
1930 return GenericPrimMediaPermission(part, agentID, me.ControlPermissions); 1930 return GenericPrimMediaPermission(part, agentID, me.ControlPermissions);
1931 } 1931 }
@@ -1949,9 +1949,9 @@ namespace OpenSim.Region.CoreModules.World.Permissions
1949 if (null == me) 1949 if (null == me)
1950 return true; 1950 return true;
1951 1951
1952 m_log.DebugFormat( 1952// m_log.DebugFormat(
1953 "[PERMISSIONS]: Checking CanInteractWithPrimMedia for {0} on {1} face {2} with interact permissions {3}", 1953// "[PERMISSIONS]: Checking CanInteractWithPrimMedia for {0} on {1} face {2} with interact permissions {3}",
1954 agentID, primID, face, me.InteractPermissions); 1954// agentID, primID, face, me.InteractPermissions);
1955 1955
1956 return GenericPrimMediaPermission(part, agentID, me.InteractPermissions); 1956 return GenericPrimMediaPermission(part, agentID, me.InteractPermissions);
1957 } 1957 }
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 444a239..085da19 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -1617,7 +1617,24 @@ namespace OpenSim.Region.Framework.Scenes
1617 dupe.DoPhysicsPropertyUpdate(UsePhysics, true); 1617 dupe.DoPhysicsPropertyUpdate(UsePhysics, true);
1618 } 1618 }
1619 1619
1620 return dupe; 1620 if (Shape.Media != null)
1621 {
1622 List<MediaEntry> dupeMedia = new List<MediaEntry>();
1623
1624 foreach (MediaEntry me in Shape.Media)
1625 {
1626 if (me != null)
1627 dupeMedia.Add(MediaEntry.FromOSD(me.GetOSD()));
1628 else
1629 dupeMedia.Add(null);
1630 }
1631
1632 dupe.Shape.Media = dupeMedia;
1633 }
1634
1635// m_log.DebugFormat("[SCENE OBJECT PART]: Clone of {0} {1} finished", Name, UUID);
1636
1637 return dupe;
1621 } 1638 }
1622 1639
1623 protected void AssetReceived(string id, Object sender, AssetBase asset) 1640 protected void AssetReceived(string id, Object sender, AssetBase asset)