--- libwmf-0.2.8.4/src/extra/gd/gd.c +++ libwmf-0.2.8.4/src/extra/gd/gd.c @@ -1335,10 +1335,31 @@ int w2, h2; w2 = w / 2; h2 = h / 2; - while (e < s) - { - e += 360; - } + + if ((s % 360) == (e % 360)) { + s = 0; e = 360; + } else { + if (s > 360) { + s = s % 360; + } + + if (e > 360) { + e = e % 360; + } + + while (s < 0) { + s += 360; + } + + while (e < s) { + e += 360; + } + + if (s == e) { + s = 0; e = 360; + } + } + for (i = s; (i <= e); i++) { int x, y;