[cairo] Fix inversion of radial gradients when r2 > r1

Soeren Sandmann sandmann at daimi.au.dk
Fri Jul 24 00:03:54 PDT 2009


Hi Chris,

Thanks for fixing bug 22908, and also thanks for applying Andre's
optimization. I think both are very much worthwhile. There are a few
problems with the commit, however:

* The optimization and the bug fix are conceptually separate things,
  so they should be in separate commits. As it is you can't tell from
  the commit which changes were optimization and which were bug fixes;
  in fact, it is impossible to tell what the bug actually was.

* Andre's original patch had a detailed comment explaining why it was
  possible to pull out the loop-invariant expressions. I'd like to at
  least preserve some of that justification.

* Is there any reason not to apply the optimization in the projective
  case? 


Thanks,
Soren


commit 20d2df03059d6a5941464d80e81e8116ebf4dbfe
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Jul 23 19:08:40 2009 +0100

    Fixes: Bug 22908 -- Invalid output of radial gradient
    http://bugs.freedesktop.org/show_bug.cgi?id=22908
    
    We also include a modified patch by André Tupinambá
    <andrelrt at gmail.com>,
    to pull constant expressions out of the inner radial gradient
    walker.


More information about the cairo mailing list