summaryrefslogtreecommitdiffstats
path: root/gst/goom
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@mad.scientist.com>2006-03-20 17:38:48 +0000
committerJan Schmidt <thaytan@mad.scientist.com>2006-03-20 17:38:48 +0000
commit1af582d518d5f2f4add7ee60b04e4d63a8227546 (patch)
treed1a09e91e63578ae0b5ec7401985238e2e3adc28 /gst/goom
parentd1619b70547cf844d4d9973b7dce68c72a19b652 (diff)
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)
Diffstat (limited to 'gst/goom')
-rw-r--r--gst/goom/filters.c7
-rw-r--r--gst/goom/goom_core.c7
2 files changed, 11 insertions, 3 deletions
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);
}