diff --git a/ChangeLog b/ChangeLog index 9d00e50e..b4bee120 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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 diff --git a/libvips/morphology/morph.c b/libvips/morphology/morph.c index 7f7ffc48..3e7fdb26 100644 --- a/libvips/morphology/morph.c +++ b/libvips/morphology/morph.c @@ -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,