fix a regression in the C path for dilate/erode

A ++ had been dropped in the recent refactoring. Credit to kleisauke.

See https://github.com/libvips/libvips/issues/1846
This commit is contained in:
John Cupitt 2020-10-07 15:23:40 +01:00
parent 80b73af225
commit 678b6d5c95
2 changed files with 9 additions and 8 deletions

View File

@ -13,6 +13,7 @@
- fix gir build with g-o-i 1.66+ [László]
- improve seek behaviour on pipes
- add "speed" param to heifsave [lovell]
- fix regression in C path for dilate / erode [kleisauke]
9/8/20 started 8.10.1
- fix markdown -> xml conversion in doc generation

View File

@ -411,7 +411,6 @@ vips_dilate_gen( VipsRegion *or,
VipsMorph *morph = (VipsMorph *) b;
VipsImage *M = morph->M;
VipsRegion *ir = seq->ir;
int * restrict t = morph->coeff;
int *soff = seq->soff;
int *coff = seq->coff;
@ -424,6 +423,7 @@ vips_dilate_gen( VipsRegion *or,
VipsRect s;
int x, y;
int *t;
int result, i;
/* Prepare the section of the input image we need. A little larger
@ -448,9 +448,9 @@ vips_dilate_gen( VipsRegion *or,
seq->ss = 0;
seq->cs = 0;
for( y = 0; y < M->Ysize; y++ )
for( x = 0; x < M->Xsize; x++ )
switch( t[x] ) {
for( t = morph->coeff, y = 0; y < M->Ysize; y++ )
for( x = 0; x < M->Xsize; x++, t++ )
switch( *t ) {
case 255:
soff[seq->ss++] =
VIPS_REGION_ADDR( ir,
@ -522,7 +522,6 @@ vips_erode_gen( VipsRegion *or,
VipsMorph *morph = (VipsMorph *) b;
VipsImage *M = morph->M;
VipsRegion *ir = seq->ir;
int * restrict t = morph->coeff;
int *soff = seq->soff;
int *coff = seq->coff;
@ -535,6 +534,7 @@ vips_erode_gen( VipsRegion *or,
VipsRect s;
int x, y;
int *t;
int result, i;
/* Prepare the section of the input image we need. A little larger
@ -559,9 +559,9 @@ vips_erode_gen( VipsRegion *or,
seq->ss = 0;
seq->cs = 0;
for( y = 0; y < M->Ysize; y++ )
for( x = 0; x < M->Xsize; x++ )
switch( t[x] ) {
for( t = morph->coeff, y = 0; y < M->Ysize; y++ )
for( x = 0; x < M->Xsize; x++, t++ )
switch( *t ) {
case 255:
soff[seq->ss++] =
VIPS_REGION_ADDR( ir,