add vips_object_new

This commit is contained in:
John Cupitt 2009-02-23 15:43:56 +00:00
parent 158a933151
commit 3400c615a6
4 changed files with 13 additions and 10 deletions

View File

@ -35,6 +35,7 @@
- added nohalo interpolator
- updated format docs
- IM_INPUT_INTERPOLATE() now used by affinei and affinei_all
- added vips_object_new
11/9/08 started 7.16.3
- oop typo in manpage for im_project()

3
TODO
View File

@ -1,7 +1,4 @@
- interpolate.c never calls vips_object_build() for bilinear etc., is this OK?
try to add this
- need to write interpolate docs ... manpages and tutorial

View File

@ -964,8 +964,12 @@ vips_object_new( GType type, VipsObjectSetArguments set, void *a, void *b )
object = VIPS_OBJECT( g_object_new( type, NULL ) );
if( set( object, a, b ) ||
vips_object_build( object ) ) {
if( set && set( object, a, b ) ) {
g_object_unref( object );
return( NULL );
}
if( vips_object_build( object ) ) {
g_object_unref( object );
return( NULL );
}

View File

@ -208,8 +208,9 @@ vips_interpolate_nearest_init( VipsInterpolateNearest *nearest )
VipsInterpolate *
vips_interpolate_nearest_new( void )
{
return( VIPS_INTERPOLATE( g_object_new(
VIPS_TYPE_INTERPOLATE_NEAREST, NULL ) ) );
return( VIPS_INTERPOLATE( vips_object_new(
VIPS_TYPE_INTERPOLATE_NEAREST, NULL, NULL, NULL ) ) );
}
/* Convenience: return a static nearest you don't need to free.
@ -422,8 +423,8 @@ vips_interpolate_bilinear_init( VipsInterpolateBilinear *bilinear )
VipsInterpolate *
vips_interpolate_bilinear_new( void )
{
return( VIPS_INTERPOLATE( g_object_new(
VIPS_TYPE_INTERPOLATE_BILINEAR, NULL ) ) );
return( VIPS_INTERPOLATE( vips_object_new(
VIPS_TYPE_INTERPOLATE_BILINEAR, NULL, NULL, NULL ) ) );
}
/* Convenience: return a static bilinear you don't need to free.
@ -467,5 +468,5 @@ vips_interpolate_new( const char *nickname )
if( !(type = vips_type_find( "VipsInterpolate", nickname )) )
return( NULL );
return( VIPS_INTERPOLATE( g_object_new( type, NULL ) ) );
return( VIPS_INTERPOLATE( vips_object_new( type, NULL, NULL, NULL ) ) );
}