vips_class_map_all() was broken
This commit is contained in:
parent
ffe4483030
commit
122c390c7b
@ -2,6 +2,7 @@
|
||||
- fallback vips_init()
|
||||
- im_openout() compat stub was wrong, breaking ruby-vips
|
||||
- vips_class_map_concrete_all() needed a compat macro too
|
||||
- vips_class_map_all() was broken
|
||||
|
||||
10/8/11 started 7.26.3
|
||||
- don't use G_VALUE_COLLECT_INIT(), many platforms do not have a glib this
|
||||
|
@ -1598,14 +1598,22 @@ vips_class_map_all( GType type, VipsClassMap fn, void *a )
|
||||
{
|
||||
void *result;
|
||||
|
||||
/* We never unref this ref, but we never unload classes
|
||||
* anyway, so so what.
|
||||
/* We can't instantiate abstract classes.
|
||||
*/
|
||||
if( !(result = fn( VIPS_OBJECT_CLASS( g_type_class_ref( type ) ), a )) )
|
||||
result = vips_type_map( type,
|
||||
(VipsTypeMap2) vips_class_map_all, fn, a );
|
||||
if( !G_TYPE_IS_ABSTRACT( type ) ) {
|
||||
/* We never unref this ref, but we never unload classes
|
||||
* anyway, so so what.
|
||||
*/
|
||||
if( (result = fn(
|
||||
VIPS_OBJECT_CLASS( g_type_class_ref( type ) ), a )) )
|
||||
return( result );
|
||||
}
|
||||
|
||||
return( result );
|
||||
if( (result = vips_type_map( type,
|
||||
(VipsTypeMap2) vips_class_map_all, fn, a )) )
|
||||
return( result );
|
||||
|
||||
return( NULL );
|
||||
}
|
||||
|
||||
/* How deeply nested is a class ... used to indent class lists.
|
||||
|
Loading…
Reference in New Issue
Block a user