summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2011-02-18 19:51:44 +0100
committerBenjamin Otte <otte@redhat.com>2011-02-18 19:51:44 +0100
commite46dc9e17a6f6737d5624dbcdd3c42c2353a72f1 (patch)
tree29a40f919303c3f5df8955617acc2897e74575a1
parentea0595c5ec125d201b159fd7128c1a86c857a0a6 (diff)
arc: Handle radius == 0 the same no matter the arc direction
Commit a0ea0b63fdd38a73d6696da5cd4800d9a7289240 fixed cairo_arc() but did not apply the same patch to cairo_arc_negative(). This patch fixes that oversight.
-rw-r--r--src/cairo.c7
-rw-r--r--test/Makefile.sources1
2 files changed, 7 insertions, 1 deletions
diff --git a/src/cairo.c b/src/cairo.c
index 73dbaeef..8c19cd11 100644
--- a/src/cairo.c
+++ b/src/cairo.c
@@ -1904,7 +1904,12 @@ cairo_arc_negative (cairo_t *cr,
return;
/* Do nothing, successfully, if radius is <= 0 */
- if (radius <= 0.0)
+ if (radius <= 0.0) {
+ cairo_line_to (cr, xc, yc); /* might become a move_to */
+ cairo_line_to (cr, xc, yc);
+ return;
+ }
+
return;
if (angle2 > angle1) {
diff --git a/test/Makefile.sources b/test/Makefile.sources
index e88c85cc..207dcd06 100644
--- a/test/Makefile.sources
+++ b/test/Makefile.sources
@@ -11,6 +11,7 @@ test_sources = \
alpha-similar.c \
arc-infinite-loop.c \
arc-looping-dash.c \
+ arc-negative.c \
api-special-cases.c \
big-line.c \
big-trap.c \