From: j-b-m Date: Sun, 21 Dec 2008 17:49:03 +0000 (+0000) Subject: producer_sdl_image.c: Fix crash when attempting to play a folder without images X-Git-Url: http://research.m1stereo.tv/gitweb?a=commitdiff_plain;h=0fc4837b335b5918aab7818ff1432a8f61c4ce05;p=melted producer_sdl_image.c: Fix crash when attempting to play a folder without images git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@1281 d19143bc-622f-0410-bfdd-b5b2a6649095 --- diff --git a/src/modules/sdl/producer_sdl_image.c b/src/modules/sdl/producer_sdl_image.c index edcc112..9c3bd8b 100644 --- a/src/modules/sdl/producer_sdl_image.c +++ b/src/modules/sdl/producer_sdl_image.c @@ -150,23 +150,26 @@ static SDL_Surface *load_image( mlt_producer producer ) mlt_properties_set_data( properties, "_surface", surface, 0, ( mlt_destructor )SDL_FreeSurface, 0 ); } - image_idx = ( int )floor( ( double )position / ttl ) % mlt_properties_count( filenames ); - this_resource = mlt_properties_get_value( filenames, image_idx ); - - if ( last_resource == NULL || strcmp( last_resource, this_resource ) ) + if ( mlt_properties_count( filenames ) ) { - surface = IMG_Load( this_resource ); - if ( surface != NULL ) + image_idx = ( int )floor( ( double )position / ttl ) % mlt_properties_count( filenames ); + this_resource = mlt_properties_get_value( filenames, image_idx ); + + if ( last_resource == NULL || strcmp( last_resource, this_resource ) ) + { + surface = IMG_Load( this_resource ); + if ( surface != NULL ) + { + surface->refcount ++; + mlt_properties_set_data( properties, "_surface", surface, 0, ( mlt_destructor )SDL_FreeSurface, 0 ); + mlt_properties_set( properties, "_last_resource", this_resource ); + } + } + else if ( surface != NULL ) { surface->refcount ++; - mlt_properties_set_data( properties, "_surface", surface, 0, ( mlt_destructor )SDL_FreeSurface, 0 ); - mlt_properties_set( properties, "_last_resource", this_resource ); } } - else if ( surface != NULL ) - { - surface->refcount ++; - } return surface; }