mirror of
https://github.com/python-pillow/Pillow.git
synced 2024-12-26 01:46:18 +03:00
Handle case where path count is zero
This commit is contained in:
parent
1e092419b6
commit
c48271ab35
|
@ -90,6 +90,7 @@ def test_path_odd_number_of_coordinates():
|
|||
[
|
||||
([0, 1, 2, 3], (0.0, 1.0, 2.0, 3.0)),
|
||||
([3, 2, 1, 0], (1.0, 0.0, 3.0, 2.0)),
|
||||
(0, (0.0, 0.0, 0.0, 0.0)),
|
||||
(1, (0.0, 0.0, 0.0, 0.0)),
|
||||
],
|
||||
)
|
||||
|
|
33
src/path.c
33
src/path.c
|
@ -327,21 +327,26 @@ path_getbbox(PyPathObject *self, PyObject *args) {
|
|||
|
||||
xy = self->xy;
|
||||
|
||||
x0 = x1 = xy[0];
|
||||
y0 = y1 = xy[1];
|
||||
if (self->count == 0) {
|
||||
x0 = x1 = 0;
|
||||
y0 = y1 = 0;
|
||||
} else {
|
||||
x0 = x1 = xy[0];
|
||||
y0 = y1 = xy[1];
|
||||
|
||||
for (i = 1; i < self->count; i++) {
|
||||
if (xy[i + i] < x0) {
|
||||
x0 = xy[i + i];
|
||||
}
|
||||
if (xy[i + i] > x1) {
|
||||
x1 = xy[i + i];
|
||||
}
|
||||
if (xy[i + i + 1] < y0) {
|
||||
y0 = xy[i + i + 1];
|
||||
}
|
||||
if (xy[i + i + 1] > y1) {
|
||||
y1 = xy[i + i + 1];
|
||||
for (i = 1; i < self->count; i++) {
|
||||
if (xy[i + i] < x0) {
|
||||
x0 = xy[i + i];
|
||||
}
|
||||
if (xy[i + i] > x1) {
|
||||
x1 = xy[i + i];
|
||||
}
|
||||
if (xy[i + i + 1] < y0) {
|
||||
y0 = xy[i + i + 1];
|
||||
}
|
||||
if (xy[i + i + 1] > y1) {
|
||||
y1 = xy[i + i + 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user