diff --git a/vips/govips.c b/vips/govips.c index bc55824c..f577a5c2 100644 --- a/vips/govips.c +++ b/vips/govips.c @@ -7,6 +7,12 @@ static void govips_logging_handler( govipsLoggingHandler((char *)log_domain, (int)log_level, (char *)message); } +static void null_logging_handler( + const gchar *log_domain, GLogLevelFlags log_level, + const gchar *message, gpointer user_data) +{ +} + void vips_set_logging_handler(void) { g_log_set_default_handler(govips_logging_handler, NULL); @@ -14,5 +20,5 @@ void vips_set_logging_handler(void) void vips_unset_logging_handler(void) { - g_log_set_default_handler(NULL, NULL); + g_log_set_default_handler(null_logging_handler, NULL); } \ No newline at end of file diff --git a/vips/govips.go b/vips/govips.go index 19ca73ab..b69b5c3e 100644 --- a/vips/govips.go +++ b/vips/govips.go @@ -86,6 +86,7 @@ func Startup(config *Config) { // Initialize govips logging handler and verbosity filter to historical default if !currentLoggingOverridden { LoggingSettings(nil, LogLevelInfo) + currentLoggingOverridden = false } // Override default glib logging handler to intercept logging messages diff --git a/vips/govips.h b/vips/govips.h index 0b546817..8fd59ac8 100644 --- a/vips/govips.h +++ b/vips/govips.h @@ -13,5 +13,9 @@ static void govips_logging_handler( const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data); +static void null_logging_handler( + const gchar *log_domain, GLogLevelFlags log_level, + const gchar *message, gpointer user_data); + void vips_set_logging_handler(void); void vips_unset_logging_handler(void); \ No newline at end of file