diff engine/core/util/base/exception.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 4f36c890b1dd
line wrap: on
line diff
--- a/engine/core/util/base/exception.h	Mon Aug 24 16:06:30 2009 +0000
+++ b/engine/core/util/base/exception.h	Mon Aug 24 18:32:03 2009 +0000
@@ -83,6 +83,7 @@
 	FIFE_EXCEPTION_DECL(ScriptException, "Error related to scripting functionality");
 	FIFE_EXCEPTION_DECL(EventException, "Error related to event functionality");
 	FIFE_EXCEPTION_DECL(GuiException, "Error related to gui functionality");
+	FIFE_EXCEPTION_DECL(InconsistencyDetected, "An inconsistency in FIFE internals was detected. Please report this is a FIFE Bug.");
 	
 	/** @bug The memory allocation in @c std::string might fail, resulting in terminate. */
 	FIFE_EXCEPTION_DECL(OutOfMemory, "Buy more ram ;)");