From 1af582d518d5f2f4add7ee60b04e4d63a8227546 Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Mon, 20 Mar 2006 17:38:48 +0000 Subject: gst/goom/: Free filter data when cleaning up. (Fixes: #334995) Original commit message from CVS: * gst/goom/filters.c: (zoomFilterDestroy): * gst/goom/goom_core.c: (goom_close): Free filter data when cleaning up. (Fixes: #334995) --- gst/goom/filters.c | 7 ++++++- gst/goom/goom_core.c | 7 +++++-- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'gst/goom') diff --git a/gst/goom/filters.c b/gst/goom/filters.c index ee598100..e3153aa5 100644 --- a/gst/goom/filters.c +++ b/gst/goom/filters.c @@ -413,8 +413,13 @@ zoomFilterSetResolution (GoomData * gd, ZoomFilterData * zf) void zoomFilterDestroy (ZoomFilterData * zf) { - if (zf) + if (zf) { + if (zf->firedec) + free (zf->firedec); + if (zf->buffer) + free (zf->buffer); free (zf); + } } /*===============================================================*/ diff --git a/gst/goom/goom_core.c b/gst/goom/goom_core.c index 1734a316..d66ffe25 100644 --- a/gst/goom/goom_core.c +++ b/gst/goom/goom_core.c @@ -368,8 +368,7 @@ goom_update (GoomData * goomdata, gint16 data[2][512]) /* si on est dans un goom : afficher les lignes... */ if (goomdata->agoom > 15) - goom_lines - (goomdata, data, ((pzfd->middleX == resolx / 2) + goom_lines (goomdata, data, ((pzfd->middleX == resolx / 2) && (pzfd->middleY == resoly / 2) && (pzfd->mode != WATER_MODE)) ? (goomdata->lineMode / 10) : 0, goomdata->p2, goomdata->agoom - 15); @@ -404,6 +403,10 @@ goom_close (GoomData * goomdata) free (goomdata->pixel); if (goomdata->back != NULL) free (goomdata->back); + if (goomdata->zfd != NULL) { + zoomFilterDestroy (goomdata->zfd); + goomdata->zfd = NULL; + } goomdata->pixel = goomdata->back = NULL; RAND_CLOSE (goomdata); } -- cgit