On Wed, 12 Nov 2003, Robert Crosbie wrote:
I've activated CVS access for you as well as permissions in the tracker. You can now take ownership of bugs and feature requests directly, and help review/integrate patches.
Bryce
Thanks! I'm also looking into the the two crash bugs regarding undo and deleting nodes. There's something not right in the SPRepr architecture. It's quite difficult to figure out the code, but now that I'm looking at the sodipodi Architecture document, it's making more sense.
Good to hear. If you can think of ways to clarify the architecture document further, or elaborate on new bits you learn, that would help the rest of the team considerably. We definitely need to make continuous improvements to the developer documentation so that new developers can come up to speed in it swiftly.
It seems that in the case of the of the undo, the code is not properly traversing the list and recognizing when child->next is null.
I noticed there are a lot of asserts in the code. I find it actually makes it more difficult to trace problems. It think that instead of adding the asserts, the source of the condition should have been traced and prevented from occuring.
Yes, I agree, the error handling of the application is pretty inadequate. Asserts are good as temporary checks during development to help narrow down where NULL pointers and the like are creeping in and to help isolate where they show up, but a better approach is to have logic to check and handle each error situation.
However, implementing all that logic would probably be a huge effort, and I'm doubtful many of us would have the patience to do it all! ;-) So... realistically I think we're probably going to continue to see asserts in the code for quite a while.
But feel free to lay into working on it if it bugs you enough. Also, you can fairly easily influence our long term direction in regards to this by reviewing the code being developed in the experimental module. If you can help those developers adopt good error prevention habits they'll naturally grow and expand into the main codebase in the months and years to come.
Anyway, It's a good learning experience. I work with perl in my day job and haven't coded in c++ in years.
Hey same here! :-)
Bryce