Merge remote-tracking branch 'origin/7.36'

This commit is contained in:
John Cupitt 2013-11-09 16:03:24 +00:00
commit 6351bad027
5 changed files with 16 additions and 9 deletions

View File

@ -20,6 +20,9 @@
- fix compiler warnings in ubuntu 13.10
- reverse similarity rotation direction to match the convention used
elsewhere in vips
- fix blocked caching of sequential load operations
- fix cache flags
- fix --delete option to vipsthumbnail
10/10/13 started 7.36.2
- better jpeg startup

View File

@ -690,10 +690,6 @@ vips_foreign_load_temp( VipsForeignLoad *load )
printf( "vips_foreign_load_temp: partial sequential temp\n" );
#endif /*DEBUG*/
/* You can't reuse sequential operations.
*/
load->nocache = TRUE;
return( vips_image_new() );
}
@ -833,6 +829,13 @@ vips_foreign_load_build( VipsObject *object )
g_object_set( load, "flags", flags, NULL );
/* If the loader can do sequential mode and sequential has been
* requested, we need to block caching.
*/
if( (load->flags & VIPS_FOREIGN_SEQUENTIAL) &&
load->access != VIPS_ACCESS_RANDOM )
load->nocache = TRUE;
if( VIPS_OBJECT_CLASS( vips_foreign_load_parent_class )->
build( object ) )
return( -1 );

View File

@ -41,7 +41,7 @@ typedef enum /*< flags >*/ {
VIPS_OPERATION_NONE = 0,
VIPS_OPERATION_SEQUENTIAL = 1,
VIPS_OPERATION_SEQUENTIAL_UNBUFFERED = 2,
VIPS_OPERATION_NOCACHE = 3
VIPS_OPERATION_NOCACHE = 4
} VipsOperationFlags;
#define VIPS_TYPE_OPERATION (vips_operation_get_type())

View File

@ -692,7 +692,7 @@ vips_cache_operation_buildp( VipsOperation **operation )
if( (hit = g_hash_table_lookup( vips_cache_table, *operation )) ) {
if( vips__cache_trace ) {
printf( "vips cache: hit\n" );
printf( "vips cache: found old operation\n" );
printf( "\t" );
vips_object_print_summary( VIPS_OBJECT( hit ) );
}
@ -718,7 +718,7 @@ vips_cache_operation_buildp( VipsOperation **operation )
VIPS_OPERATION_NOCACHE )
printf( "vips cache: uncacheable\n" );
else
printf( "vips cache: miss\n" );
printf( "vips cache: caching new operation\n" );
printf( "\t" );
vips_object_print_summary( VIPS_OBJECT( *operation ) );
}

View File

@ -67,6 +67,7 @@ static gboolean delete_profile = FALSE;
*/
static gboolean nosharpen = FALSE;
static gboolean nodelete_profile = FALSE;
static gboolean verbose = FALSE;
static GOptionEntry options[] = {
{ "size", 's', 0,
@ -97,7 +98,7 @@ static GOptionEntry options[] = {
G_OPTION_ARG_NONE, &delete_profile,
N_( "delete profile from exported image" ), NULL },
{ "verbose", 'v', G_OPTION_FLAG_HIDDEN,
G_OPTION_ARG_NONE, NULL,
G_OPTION_ARG_NONE, &verbose,
N_( "(deprecated, does nothing)" ), NULL },
{ "nodelete", 'l', G_OPTION_FLAG_HIDDEN,
G_OPTION_ARG_NONE, &nodelete_profile,
@ -410,7 +411,7 @@ thumbnail_shrink( VipsObject *thumbnail, VipsImage *in,
vips_image_get_typeof( in, VIPS_META_ICC_NAME ) ) {
vips_info( "vipsthumbnail",
"deleting profile from output image" );
if( vips_image_remove( in, VIPS_META_ICC_NAME ) )
if( !vips_image_remove( in, VIPS_META_ICC_NAME ) )
return( NULL );
}