[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]

[XaraXtreme-dev] Next bug fix: The Blend tool

I am looking at some bugs with the blend tool. One of which happens when
you have a blend on a curve, set to rotate along the curve, and are
using blend distance instead of blend steps.

If you change the distance (Or even just click in the text box and hit
return), the end object of the blend is rotated. Each time you edit the
distance the object is rotated further.

I'm just starting to get a handle on the exact cause of the problem. I
believe it is caused by the fact that the
OpChangeBlendDistance::DoWithParam function makes a call which
eventually leads to ChangeBlenderOpParam::SetNewValues. This also sets
the start and end angles, even though we're just editing the blend
distance. Also, since it gets its values from the NodeBlender, it does
not appear that NodeBlender knows or cares about whether it is rotated
on a curve or not.

Possible solutions would be to undo the rotation after the fact, or
change the SetNewValues to SetNewValue, or somehow limit which values
are set at various times throughout the program.

I will continue looking at this but if anyone has any suggestions or
feedback please chime in.