diff options
author | Dom Lachowicz <doml@src.gnome.org> | 2004-07-09 12:31:49 +0000 |
---|---|---|
committer | Dom Lachowicz <doml@src.gnome.org> | 2004-07-09 12:31:49 +0000 |
commit | 5a9615a6c626e35751ae5024d6ce2e5269b66e7d (patch) | |
tree | f3e63e307b900c1fbf3c426d228d834920eed9e6 | |
parent | 581349fd61215dc658e55e0efcaa8199769f1405 (diff) | |
download | librsvg-5a9615a6c626e35751ae5024d6ce2e5269b66e7d.tar.gz |
fix bug #145426
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | rsvg-paint-server.c | 8 |
2 files changed, 10 insertions, 2 deletions
@@ -1,3 +1,7 @@ +2004-07-09 Dom Lachowicz <cinamod@hotmail.com> + + * rsvg-paint-server.c: Fix bug #145426 + 2004-06-30 Dom Lachowicz <cinamod@hotmail.com> * rsvg-css.h: Fix bug #145173 diff --git a/rsvg-paint-server.c b/rsvg-paint-server.c index 3549bcb2..133bff07 100644 --- a/rsvg-paint-server.c +++ b/rsvg-paint-server.c @@ -227,8 +227,12 @@ rsvg_paint_server_lin_grad_render (RsvgPaintServer *self, ArtRender *ar, ychange = y2 - y1; unitlen = sqrt(xchange*xchange + ychange*ychange); - x2 = x1 + ychange / unitlen * pointlen; - y2 = y1 - xchange / unitlen * pointlen; + if (unitlen == 0 || pointlen == 0) { + x2 = y2 = 0; + } else { + x2 = x1 + ychange / unitlen * pointlen; + y2 = y1 - xchange / unitlen * pointlen; + } /* solve a, b, c so ax1 + by1 + c = 0 and ax2 + by2 + c = 1, maximum gradient is in x1,y1 to x2,y2 dir */ |