fix affine identity transform with clipping

This commit is contained in:
John Cupitt 2014-07-08 17:09:42 +01:00
parent 987021a68d
commit 1a8dd2f299
2 changed files with 7 additions and 1 deletions

2
TODO
View File

@ -7,6 +7,8 @@
part of fixing up ruby-vips self-tests
dx/dy seem broken, esp. with clipping
- threadpool recyling might be useful for dzsave?

View File

@ -450,7 +450,11 @@ vips_affine_build( VipsObject *object )
if( vips__transform_calc_inverse( &affine->trn ) )
return( -1 );
if( vips__transform_isidentity( &affine->trn ) )
if( vips__transform_isidentity( &affine->trn ) &&
affine->trn.oarea.left == 0 &&
affine->trn.oarea.top == 0 &&
affine->trn.oarea.width == in->Xsize &&
affine->trn.oarea.height == in->Ysize )
return( vips_image_write( in, resample->out ) );
/* Check for coordinate overflow ... we want to be able to hold the