[Mlt-devel] SF.net SVN: mlt:[1326] trunk/mlt/src/modules/gtk2/producer_pixbuf.c
Brought to you by:
ddennedy,
lilo_booter
From: <dde...@us...> - 2009-01-27 06:18:54
|
Revision: 1326 http://mlt.svn.sourceforge.net/mlt/?rev=1326&view=rev Author: ddennedy Date: 2009-01-27 06:18:50 +0000 (Tue, 27 Jan 2009) Log Message: ----------- producer_pixbuf.c: bugfix (kdenlive-575) memory leak Modified Paths: -------------- trunk/mlt/src/modules/gtk2/producer_pixbuf.c Modified: trunk/mlt/src/modules/gtk2/producer_pixbuf.c =================================================================== --- trunk/mlt/src/modules/gtk2/producer_pixbuf.c 2009-01-26 18:32:03 UTC (rev 1325) +++ trunk/mlt/src/modules/gtk2/producer_pixbuf.c 2009-01-27 06:18:50 UTC (rev 1326) @@ -263,25 +263,10 @@ if ( width != this->width || height != this->height ) { pixbuf = mlt_properties_get_data( producer_props, "_pixbuf", NULL ); - if ( !use_cache ) - { - mlt_pool_release( this->image ); - mlt_pool_release( this->alpha ); - } - this->image = NULL; - this->alpha = NULL; } } else if ( pixbuf == NULL && ( this->image == NULL || image_idx != this->image_idx ) ) { - if ( !use_cache ) - { - mlt_pool_release( this->image ); - mlt_pool_release( this->alpha ); - } - this->image = NULL; - this->alpha = NULL; - this->image_idx = image_idx; pixbuf = gdk_pixbuf_new_from_file( mlt_properties_get_value( this->filenames, image_idx ), &error ); @@ -324,12 +309,16 @@ this->height = height; // Allocate/define image + if ( !use_cache && this->image ) + mlt_pool_release( this->image ); this->image = mlt_pool_alloc( width * ( height + 1 ) * 2 ); // Extract YUV422 and alpha if ( gdk_pixbuf_get_has_alpha( pixbuf ) ) { // Allocate the alpha mask + if ( !use_cache && this->alpha ) + mlt_pool_release( this->alpha ); this->alpha = mlt_pool_alloc( this->width * this->height ); // Convert the image This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |