summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-03-03 14:12:50 +0000
committerDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-03-03 14:12:50 +0000
commit58b8867f0e7e20ae37cb8343bcb8ea912a0d1ae3 (patch)
treeb0747da9d1f1c0d7a237c3be928e0a9a58757efb /src
parent3b912e24785aff75d9dbbb8d31840e094ee95c14 (diff)
downloadxine-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.c9
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 )