On Fri, 2010-04-16 at 08:47 -0700, Jon Cruz wrote:
Going with smart pointers really tends to lead to almost the same complications we have now with Boehm and its use. Since care is going to be required anyway in order to get all things working, and well, a little extra care in specifying ownership semantics will give us better safety while also helping improve performance. And specifically in the Inkscape codebase, switching from "magic" memory handling to consistent and explicit ownership has been seen to be a bigger gain.
I'm a bit disillusioned with boehm at this point myself. If we could have used it consistently it still might have been a win, but there turned out to be an awful lot of work to get there from here and I don't realistically expect it to get done at this point.
Arena items have pretty straightforward lifecycles, also, so there's probably no reason to make things more complicated than they need to be.
But we do need to get rid of the references from arena items to SPStyle, badly. Those make everything tremendously hard. I think I removed many of them, but the main area where they are still present (last I looked ... it's been a while) is for text/font properties. Since there are so many of them, simply copying attribute values over probably isn't a solution by itself.
-mental