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