Fix projection cleanup mess
|Reported by:||Andy Buckley||Owned by:||Andy Buckley|
|Keywords:||Cc:||hoeth, Frank Siegert|
A last-minute tidying of singleton implementations with the Rivet 1.2.2 release candidate has unearthed a nasty set of bugs in projection deletion, encompassing all the perverse joys of boost::shared_ptr's operator<, why you shouldn't call dynamic_cast on a partially destructed object, and many more. I'm trying to fix this at the moment, and suspect it has a lot to do with our memory leak. Definitely a release blocker, unfortunately!