diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-03-03 14:12:50 +0000 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-03-03 14:12:50 +0000 |
commit | 58b8867f0e7e20ae37cb8343bcb8ea912a0d1ae3 (patch) | |
tree | b0747da9d1f1c0d7a237c3be928e0a9a58757efb /src | |
parent | 3b912e24785aff75d9dbbb8d31840e094ee95c14 (diff) | |
download | xine-lib-58b8867f0e7e20ae37cb8343bcb8ea912a0d1ae3.tar.gz xine-lib-58b8867f0e7e20ae37cb8343bcb8ea912a0d1ae3.tar.bz2 |
Free the FreeType object when freeing the OSD object, should solve a possible memory leak.
CVS patchset: 8641
CVS date: 2007/03/03 14:12:50
Diffstat (limited to 'src')
-rw-r--r-- | src/xine-engine/osd.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/xine-engine/osd.c b/src/xine-engine/osd.c index 229a9ad37..3d4f9dabf 100644 --- a/src/xine-engine/osd.c +++ b/src/xine-engine/osd.c @@ -1481,7 +1481,14 @@ static void osd_free_object (osd_object_t *osd_to_close) { while( osd ) { if ( osd == osd_to_close ) { free( osd->area ); - if( osd->ft2 ) free( osd->ft2 ); + + if( osd->ft2 ) { + if ( osd->ft2->library ) + FT_Done_FreeType(osd->ft2->library); + + free( osd->ft2 ); + } + osd_free_encoding(osd); if( last ) |