Don't store undo states if a scene object is manipulated when it is not in a scene.
Adds regression test for this.0.7.4-post-fixes
							parent
							
								
									86f519ba57
								
							
						
					
					
						commit
						cd6f3b147d
					
				|  | @ -3150,6 +3150,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
| 
 | ||||
|         public void StoreUndoState(bool forGroup) | ||||
|         { | ||||
|             if (ParentGroup == null || ParentGroup.Scene == null) | ||||
|                 return; | ||||
| 
 | ||||
|             if (Undoing) | ||||
|             { | ||||
| //                m_log.DebugFormat( | ||||
|  | @ -3163,9 +3166,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             if (ParentGroup == null) | ||||
|                 return; | ||||
| 
 | ||||
|             lock (m_undo) | ||||
|             { | ||||
|                 if (m_undo.Count > 0) | ||||
|  |  | |||
|  | @ -102,6 +102,29 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
|             Assert.That(g1.GroupScale, Is.EqualTo(secondSize)); | ||||
|         } | ||||
| 
 | ||||
|         [Test] | ||||
|         public void TestNoUndoOnObjectsNotInScene() | ||||
|         { | ||||
|             TestHelpers.InMethod(); | ||||
| 
 | ||||
|             Vector3 firstSize = new Vector3(2, 3, 4); | ||||
|             Vector3 secondSize = new Vector3(5, 6, 7); | ||||
|             Vector3 thirdSize = new Vector3(8, 9, 10); | ||||
|             Vector3 fourthSize = new Vector3(11, 12, 13); | ||||
| 
 | ||||
|             Scene scene = new SceneHelpers().SetupScene(); | ||||
|             SceneObjectGroup g1 = SceneHelpers.CreateSceneObject(1, TestHelpers.ParseTail(0x1)); | ||||
| 
 | ||||
|             g1.GroupResize(firstSize); | ||||
|             g1.GroupResize(secondSize); | ||||
| 
 | ||||
|             Assert.That(g1.RootPart.UndoCount, Is.EqualTo(0)); | ||||
| 
 | ||||
|             g1.RootPart.Undo(); | ||||
| 
 | ||||
|             Assert.That(g1.GroupScale, Is.EqualTo(secondSize)); | ||||
|         } | ||||
| 
 | ||||
|         [Test] | ||||
|         public void TestUndoBeyondAvailable() | ||||
|         { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Justin Clark-Casey (justincc)
						Justin Clark-Casey (justincc)