hide warnings if VIPS_WARNING is defined
If VIPS_WARNING is defined, suppress all warning messages from vips by installing a null log handler. Libraries should not call g_log_set_handler(), it is supposed to be for the application layer, but this can be awkward to set up if you are using libvips from something like Ruby. This env var hack is a workaround. see https://github.com/jcupitt/ruby-vips/issues/119 see https://github.com/jcupitt/libvips/issues/544
This commit is contained in:
parent
3a29cea09f
commit
47a763209a
@ -1,5 +1,6 @@
|
|||||||
2/8/17 started 8.5.8
|
2/8/17 started 8.5.8
|
||||||
- fix transparency detection in merge, thanks Haida
|
- fix transparency detection in merge, thanks Haida
|
||||||
|
- define env var VIPS_WARNING to hide warning messages
|
||||||
|
|
||||||
9/6/17 started 8.5.7
|
9/6/17 started 8.5.7
|
||||||
- better smartcrop
|
- better smartcrop
|
||||||
|
@ -26,6 +26,8 @@
|
|||||||
* constructed before we go parallel
|
* constructed before we go parallel
|
||||||
* 18/9/16
|
* 18/9/16
|
||||||
* - call _setmaxstdio() on win32
|
* - call _setmaxstdio() on win32
|
||||||
|
* 4/8/17
|
||||||
|
* - hide warnings is VIPS_WARNING is set
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -241,6 +243,15 @@ vips_load_plugins( const char *fmt, ... )
|
|||||||
return( result );
|
return( result );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Install this log handler to hide warning messages.
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
empty_log_handler( const gchar *log_domain, GLogLevelFlags log_level,
|
||||||
|
const gchar *message, gpointer user_data )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* vips_init:
|
* vips_init:
|
||||||
* @argv0: name of application
|
* @argv0: name of application
|
||||||
@ -442,6 +453,18 @@ vips_init( const char *argv0 )
|
|||||||
|
|
||||||
done = TRUE;
|
done = TRUE;
|
||||||
|
|
||||||
|
/* If VIPS_WARNING is defined, suppress all warning messages from vips.
|
||||||
|
*
|
||||||
|
* Libraries should not call g_log_set_handler(), it is
|
||||||
|
* supposed to be for the application layer, but this can be awkward to
|
||||||
|
* set up if you are using libvips from something like Ruby. Allow this
|
||||||
|
* env var hack as a workaround.
|
||||||
|
*/
|
||||||
|
if( g_getenv( "VIPS_WARNING" ) ||
|
||||||
|
g_getenv( "IM_WARNING" ) )
|
||||||
|
g_log_set_handler( "VIPS", G_LOG_LEVEL_WARNING,
|
||||||
|
empty_log_handler, NULL );
|
||||||
|
|
||||||
vips__thread_gate_stop( "init: startup" );
|
vips__thread_gate_stop( "init: startup" );
|
||||||
|
|
||||||
return( 0 );
|
return( 0 );
|
||||||
|
Loading…
Reference in New Issue
Block a user