aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs17
1 files changed, 15 insertions, 2 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 781cc69..d30ce72 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -355,11 +355,17 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
355 CoalescedSceneObjects coa = new CoalescedSceneObjects(UUID.Zero); 355 CoalescedSceneObjects coa = new CoalescedSceneObjects(UUID.Zero);
356// Dictionary<UUID, Vector3> originalPositions = new Dictionary<UUID, Vector3>(); 356// Dictionary<UUID, Vector3> originalPositions = new Dictionary<UUID, Vector3>();
357 357
358 Dictionary<SceneObjectGroup, KeyframeMotion> group2Keyframe = new Dictionary<SceneObjectGroup, KeyframeMotion>();
359
358 foreach (SceneObjectGroup objectGroup in objlist) 360 foreach (SceneObjectGroup objectGroup in objlist)
359 { 361 {
360 if (objectGroup.RootPart.KeyframeMotion != null) 362 if (objectGroup.RootPart.KeyframeMotion != null)
361 objectGroup.RootPart.KeyframeMotion.Stop(); 363 {
362 objectGroup.RootPart.KeyframeMotion = null; 364 objectGroup.RootPart.KeyframeMotion.Pause();
365 group2Keyframe.Add(objectGroup, objectGroup.RootPart.KeyframeMotion);
366 objectGroup.RootPart.KeyframeMotion = null;
367 }
368
363// Vector3 inventoryStoredPosition = new Vector3 369// Vector3 inventoryStoredPosition = new Vector3
364// (((objectGroup.AbsolutePosition.X > (int)Constants.RegionSize) 370// (((objectGroup.AbsolutePosition.X > (int)Constants.RegionSize)
365// ? 250 371// ? 250
@@ -477,6 +483,13 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
477 } 483 }
478 } 484 }
479 485
486 // Restore KeyframeMotion
487 foreach (SceneObjectGroup objectGroup in group2Keyframe.Keys)
488 {
489 objectGroup.RootPart.KeyframeMotion = group2Keyframe[objectGroup];
490 objectGroup.RootPart.KeyframeMotion.Start();
491 }
492
480 // This is a hook to do some per-asset post-processing for subclasses that need that 493 // This is a hook to do some per-asset post-processing for subclasses that need that
481 if (remoteClient != null) 494 if (remoteClient != null)
482 ExportAsset(remoteClient.AgentId, asset.FullID); 495 ExportAsset(remoteClient.AgentId, asset.FullID);