Wednesday, April 21, 2010

Two Arcs Autoface and Other Fixes

There are some problems that NaroCAD had for a longer time and one of the most common one is that if you created two arcs that have an internal area, they were not auto-intersecting. That was fixed.
Also a bug that appears when some shapes did get a wrong reference list (like a circular reference), they can lead to make the tree populate as right now goes as many levels in depth, to get a stack overflow. This was also fixed on more levels: firstly it was fixed the case of invalid references. Secondly there is a custom logic to block reversed reference order. If this happens, tree will not display it. The last level of protection (the naive one) is that if the tree will go as deep as 5 levels, it will not expand anymore.
The latest fix is on deleting shapes. It may happen that some shapes to reference others when you delete. The old code did not remove them for more reasons (like auto-face), and sometimes even it hides them, it was note remove them effectively from tree. Right now the code works like a mark and sweep GC meaning that all unreachable shapes from user point of view are removed. If at least one shape will reference your shape, this deletion will be blocked.
Sometimes if you fast click on a tree and you delete items, it may happen that selection to not be active and pressing delete, to give a crash in tree. This was also fixed. Tomorrow a release preview will be done.
Just if you want to test if everything works as expected, you may try the nighly build link from the right.

No comments: