gst/goom/: Free filter data when cleaning up. (Fixes: #334995)
authorJan Schmidt <thaytan@mad.scientist.com>
Mon, 20 Mar 2006 17:38:48 +0000 (17:38 +0000)
committerJan Schmidt <thaytan@mad.scientist.com>
Mon, 20 Mar 2006 17:38:48 +0000 (17:38 +0000)
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)

ChangeLog
gst/goom/filters.c
gst/goom/goom_core.c

index ac35318..978a44b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
+
+       * gst/goom/filters.c: (zoomFilterDestroy):
+       * gst/goom/goom_core.c: (goom_close):
+         Free filter data when cleaning up. (Fixes: #334995)
+
 2006-03-17  Tim-Philipp Müller  <tim at centricular dot net>
 
        * configure.ac:
index ee59810..e3153aa 100644 (file)
@@ -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);
+  }
 }
 
 /*===============================================================*/
index 1734a31..d66ffe2 100644 (file)
@@ -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);
 }