Monday, June 14, 2010

Constraining Bugs

Adding features in most cases change some internal parts of the code and make some things to break. The most disruptive changes in the previous week were using the generic transformations code that is more powerful and the constraint dialog. They in themselves are not made in a faulty way, but the old code did not used the new behaviors or the changes were not fully covering all shapes.

Today I've worked to target some of those bugs like following:

-point to point constraint is fixed (as was done by transforming the original shape).

-the Constraint Shape dialog when you closed it, it make to revert the action to default mode, but that make that code to execute twice and did lead to a crash if it was closed by clicking on the scene and pressing escape.

- ellipse shape did not have a constraint for major radius and minor one. On the same way, the Cone did have a minor radius that could not be setup as zero. as the fixed value constraints did share a lot of common code, the zero value for most of them is not a valid one (like picking a line length as being zero, or a circle range as zero). Right now you will use more successfully this dialog on all shapes and with all possible values.

- also it may happen in some cases that the MetaAction shape creation to be executed from multiple components (like activating via command line). To guard the code against those cases, there is done a Document.Transact operation stopping creating invalid shapes in scene document in meta-actions. 

- if  you will move your focus from one item to another in property grid, the settings will apply automatically. This is made for user to not forget to setup the value by pressing enter. Pressing enter is still available in case you want to check your value if works accordingly.

- lua unit tests have some invalid values and also were fixed.

A note: previously broken end of edge constraints or middle of edge constraints (that activate when you work with shapes), as of today they both seem working.

No comments: