Merge branch '8.10'
This commit is contained in:
commit
2c4c4132e8
@ -7,6 +7,7 @@
|
|||||||
- fix regression in tiff pyramid thumbnailing [tand826]
|
- fix regression in tiff pyramid thumbnailing [tand826]
|
||||||
- stop 0-length buffer being passed to imagemagick [lovell]
|
- stop 0-length buffer being passed to imagemagick [lovell]
|
||||||
- convert no-profile CMYK to RGB on save [augustocdias]
|
- convert no-profile CMYK to RGB on save [augustocdias]
|
||||||
|
- ensure SVG loader skips input with chars outside x09-x7F range [lovell]
|
||||||
|
|
||||||
24/1/20 started 8.10.0
|
24/1/20 started 8.10.0
|
||||||
- more conformat IIIF output from dzsave [regisrob]
|
- more conformat IIIF output from dzsave [regisrob]
|
||||||
|
@ -424,7 +424,10 @@ vips_arrayjoinv( VipsImage **in, VipsImage **out, int n, va_list ap )
|
|||||||
* Smallest common format in
|
* Smallest common format in
|
||||||
* <link linkend="libvips-arithmetic">arithmetic</link>).
|
* <link linkend="libvips-arithmetic">arithmetic</link>).
|
||||||
*
|
*
|
||||||
* See also: vips_join(), vips_insert().
|
* vips_colourspace() can be useful for moving the images to a common
|
||||||
|
* colourspace for compositing.
|
||||||
|
*
|
||||||
|
* See also: vips_join(), vips_insert(), vips_colourspace().
|
||||||
*
|
*
|
||||||
* Returns: 0 on success, -1 on error
|
* Returns: 0 on success, -1 on error
|
||||||
*/
|
*/
|
||||||
|
@ -114,7 +114,6 @@ void vips__threadpool_init( void );
|
|||||||
|
|
||||||
void vips__cache_init( void );
|
void vips__cache_init( void );
|
||||||
|
|
||||||
void vips__sink_screen_init( void );
|
|
||||||
void vips__print_renders( void );
|
void vips__print_renders( void );
|
||||||
|
|
||||||
void vips__type_leak( void );
|
void vips__type_leak( void );
|
||||||
|
@ -413,7 +413,6 @@ vips_init( const char *argv0 )
|
|||||||
#endif /*HAVE_THREAD_NEW*/
|
#endif /*HAVE_THREAD_NEW*/
|
||||||
|
|
||||||
vips__threadpool_init();
|
vips__threadpool_init();
|
||||||
vips__sink_screen_init();
|
|
||||||
vips__buffer_init();
|
vips__buffer_init();
|
||||||
vips__meta_init();
|
vips__meta_init();
|
||||||
|
|
||||||
|
@ -450,6 +450,9 @@ vips__render_shutdown( void )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
g_mutex_unlock( render_dirty_lock );
|
g_mutex_unlock( render_dirty_lock );
|
||||||
|
|
||||||
|
VIPS_FREEF( vips_g_mutex_free, render_dirty_lock );
|
||||||
|
vips_semaphore_destroy( &n_render_dirty_sem );
|
||||||
}
|
}
|
||||||
|
|
||||||
VIPS_FREEF( vips_g_mutex_free, render_dirty_lock );
|
VIPS_FREEF( vips_g_mutex_free, render_dirty_lock );
|
||||||
@ -1030,8 +1033,8 @@ render_thread_main( void *client )
|
|||||||
return( NULL );
|
return( NULL );
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void *
|
||||||
vips__sink_screen_init( void )
|
vips__sink_screen_init( void *data )
|
||||||
{
|
{
|
||||||
g_assert( !render_thread );
|
g_assert( !render_thread );
|
||||||
g_assert( !render_dirty_lock );
|
g_assert( !render_dirty_lock );
|
||||||
@ -1040,6 +1043,8 @@ vips__sink_screen_init( void )
|
|||||||
vips_semaphore_init( &n_render_dirty_sem, 0, "n_render_dirty" );
|
vips_semaphore_init( &n_render_dirty_sem, 0, "n_render_dirty" );
|
||||||
render_thread = vips_g_thread_new( "sink_screen",
|
render_thread = vips_g_thread_new( "sink_screen",
|
||||||
render_thread_main, NULL );
|
render_thread_main, NULL );
|
||||||
|
|
||||||
|
return( NULL );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1099,8 +1104,12 @@ vips_sink_screen( VipsImage *in, VipsImage *out, VipsImage *mask,
|
|||||||
int priority,
|
int priority,
|
||||||
VipsSinkNotify notify_fn, void *a )
|
VipsSinkNotify notify_fn, void *a )
|
||||||
{
|
{
|
||||||
|
static GOnce once = G_ONCE_INIT;
|
||||||
|
|
||||||
Render *render;
|
Render *render;
|
||||||
|
|
||||||
|
VIPS_ONCE( &once, vips__sink_screen_init, NULL );
|
||||||
|
|
||||||
if( tile_width <= 0 || tile_height <= 0 ||
|
if( tile_width <= 0 || tile_height <= 0 ||
|
||||||
max_tiles < -1 ) {
|
max_tiles < -1 ) {
|
||||||
vips_error( "vips_sink_screen", "%s", _( "bad parameters" ) );
|
vips_error( "vips_sink_screen", "%s", _( "bad parameters" ) );
|
||||||
|
Loading…
Reference in New Issue
Block a user