summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/xine-engine/osd.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/xine-engine/osd.c b/src/xine-engine/osd.c
index f7cedbf72..62117b6d4 100644
--- a/src/xine-engine/osd.c
+++ b/src/xine-engine/osd.c
@@ -655,7 +655,7 @@ static int osd_renderer_load_font(osd_renderer_t *this, char *filename) {
*/
static int osd_renderer_unload_font(osd_renderer_t *this, char *fontname ) {
- osd_font_t *font, *last;
+ osd_font_t *font, *first, *last;
osd_object_t *osd;
int i, ret = 0;
@@ -671,7 +671,7 @@ static int osd_renderer_unload_font(osd_renderer_t *this, char *fontname ) {
}
last = NULL;
- font = this->fonts;
+ font = first = this->fonts;
while( font ) {
if ( !strcasecmp(font->name,fontname) ) {
@@ -696,6 +696,9 @@ static int osd_renderer_unload_font(osd_renderer_t *this, char *fontname ) {
font = font->next;
}
+ if(first)
+ free(first);
+
pthread_mutex_unlock (&this->osd_mutex);
return ret;
}