Hi!
I've been researching a bit about this commit and have some conclusions:

1) It only happens when there is a Rotate layer above (possibly you already
know). It doesn't happen with Zoom, Stretch or Translate above.
2) In 0.64.0 it doesn't happen.
3) Executing the code step by step, the problems seems to be that the
transformed position of the handle origin is not the same than the
transformed position of the focus. The difference is about in the 7th
digit, so it looks like some sort of rounding error. This difference causes
that the find_duck member doesn't find two ducks at the "same" place and
sometimes it finds the focus and other the origin.
4) I've found that in this commit, there is a change of the way the
transformed point is calculated. This commit was included to allow reverse
transformation of the width ducks but I really don't understand the reason
of this change.
https://github.com/synfig/synfig/commit/1efad88f9d2a8855df740e014f2cd00ce04502b4

So, for this bug I think that it can be solved by changing the behavior of
find_duck member by comparing the two points difference against a very
small (i.e. 0.0000001) number instead of compare against 0.0. But that
won't fix the root cause of the problem.

So my idea is this:
First give a try to fix the root cause of the bug by doing:
1) A revert of the commit from the point 4) above on the part of the
get_trans_point_origin member.
2) If this fails, try a git bisect to find the commit that is causing the
problem.
3) It all that fails and takes so long to fix, elaborate the change of the
find_duck member I mentioned as a workaround.

Opinions?
-- 
Carlos
http://synfig.org
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to