don't cache write operations

we want writes to happen every time, in case the file has been deleted
by someone
This commit is contained in:
John Cupitt 2012-07-18 10:13:03 +01:00
parent 0b80d436c8
commit 4af1dabb5a
3 changed files with 7 additions and 2 deletions

View File

@ -4,6 +4,7 @@
- png save compression range was wrong
- more/moreeq was wrong
- vips7 ppm save with options was broken
- don't cache write operations
18/6/12 started 7.28.9
- slightly more memory debugging output

View File

@ -1375,6 +1375,10 @@ vips_foreign_save_build( VipsObject *object )
vips_foreign_convert_saveable( save ) )
return( -1 );
/* You mustn't cache write operations.
*/
vips_operation_set_nocache( VIPS_OPERATION( save ), TRUE );
if( VIPS_OBJECT_CLASS( vips_foreign_save_parent_class )->
build( object ) )
return( -1 );

View File

@ -464,7 +464,7 @@ write_tiff_header( TiffWrite *tw, TIFF *tif, int width, int height )
TIFFSetField( tif, TIFFTAG_JPEGCOLORMODE, JPEGCOLORMODE_RGB );
}
if( tw->predictor != -1 )
if( tw->predictor != VIPS_FOREIGN_TIFF_PREDICTOR_NONE )
TIFFSetField( tif, TIFFTAG_PREDICTOR, tw->predictor );
/* Don't write mad resolutions (eg. zero), it confuses some programs.
@ -1338,7 +1338,7 @@ tiff_copy( TiffWrite *tw, TIFF *out, TIFF *in )
CopyField( TIFFTAG_ROWSPERSTRIP, i32 );
CopyField( TIFFTAG_SUBFILETYPE, i32 );
if( tw->predictor != -1 )
if( tw->predictor != VIPS_FOREIGN_TIFF_PREDICTOR_NONE )
TIFFSetField( out, TIFFTAG_PREDICTOR, tw->predictor );
/* TIFFTAG_JPEGQUALITY is a pesudo-tag, so we can't copy it.