diff engine/core/model/structures/instancetree.h @ 338:d266506ff4f9

Bug fix. It turned out the instance tree contained ghost instances, since InstanceTree.removeInstance sometimes failed. This caused those random crashes in UH. Now the InstanceTree enforces that remove/add Instance work in pairs. A new Exception is raised in case this ever goes wrong again. (InconsitencyDetected) Furthermore the removeInstancheChangeListener stuff had a fix to become reentrant. It is not clear wether this was shadowed by the aforementioned bug or was never triggered.
author phoku@33b003aa-7bff-0310-803a-e67f0ece8222
date Mon, 24 Aug 2009 18:32:03 +0000
parents 90005975cdbb
children 0fd74235b34d
line wrap: on
line diff
--- a/engine/core/model/structures/instancetree.h	Mon Aug 24 16:06:30 2009 +0000
+++ b/engine/core/model/structures/instancetree.h	Mon Aug 24 18:32:03 2009 +0000
@@ -94,7 +94,7 @@
 
 	private:
 		InstanceQuadTree m_tree;
-
+		std::map<Instance*,InstanceTreeNode*> m_reverse;
 	};
 
 }