diff -Naur goom-origin/src/convolve_fx.c goom/src/convolve_fx.c
@@ -107,7 +107,9 @@
}
static void convolve_free(VisualFX *_this) {
- free (_this->fx_data);
+ ConvData *data = _this->fx_data;
+ free (data->params.params);
+ free (data);
}
static void create_output_with_brightness(VisualFX *_this, Pixel *src, Pixel *dest,
diff -Naur goom-origin/src/filters.c goom/src/filters.c
@@ -731,6 +731,12 @@
static void zoomFilterVisualFXWrapper_free (struct _VISUAL_FX *_this)
{
+ ZoomFilterFXWrapperData *data = (ZoomFilterFXWrapperData*)_this->fx_data;
+ if (data->brutS) free (data->freebrutS);
+ if (data->brutD) free (data->freebrutD);
+ if (data->brutT) free (data->freebrutT);
+ free (data->firedec);
+ free (data->params.params);
free(_this->fx_data);
}
diff -Naur goom-origin/src/flying_stars_fx.c goom/src/flying_stars_fx.c
@@ -129,7 +129,10 @@
}
static void fs_free(VisualFX *_this) {
- free (_this->fx_data);
+ FSData *data = (FSData*)_this->fx_data;
+ free (data->stars);
+ free (data->params.params);
+ free (data);
}
diff -Naur goom-origin/src/gfontlib.c goom/src/gfontlib.c
@@ -126,6 +126,8 @@
small_font_width [32] = font_width [32]/2;
font_chars [32] = 0;
small_font_chars [32] = 0;
+ free( gfont );
+ free( font_pos );
}
void goom_draw_text (Pixel * buf,int resolx,int resoly,
diff -Naur goom-origin/src/goom_core.c goom/src/goom_core.c
@@ -765,6 +765,15 @@
goomInfo->star_fx.free(&goomInfo->star_fx);
goomInfo->tentacles_fx.free(&goomInfo->tentacles_fx);
goomInfo->zoomFilter_fx.free(&goomInfo->zoomFilter_fx);
+
+ // Release info visual
+ free (goomInfo->params);
+ free (goomInfo->sound.params.params);
+
+ // Release PluginInfo
+ free (goomInfo->visuals);
+ gsl_free (goomInfo->scanner);
+ gsl_free (goomInfo->main_scanner);
free(goomInfo);
}
diff -Naur goom-origin/src/goomsl.c goom/src/goomsl.c
@@ -90,6 +90,7 @@
void iflow_free(InstructionFlow *_this)
{ /* {{{ */
+ free(_this->instr);
goom_hash_free(_this->labels);
free(_this); /*TODO: finir cette fonction */
} /* }}} */
@@ -1422,8 +1423,12 @@
void gsl_free(GoomSL *gss)
{ /* {{{ */
iflow_free(gss->iflow);
- free(gss->vars);
- free(gss->functions);
+ goom_hash_free(gss->vars);
+ goom_hash_free(gss->functions);
+ goom_hash_free(gss->structIDS);
+ free(gss->gsl_struct);
+ goom_heap_delete(gss->data_heap);
+ free(gss->ptrArray);
free(gss);
} /* }}} */
diff -Naur goom-origin/src/lines.c goom/src/lines.c
@@ -199,6 +199,7 @@
goom_lines_free (GMLine ** l)
{
free ((*l)->points);
+ free ((*l)->points2);
free (*l);
l = NULL;
}
diff -Naur goom-origin/src/tentacle3d.c goom/src/tentacle3d.c
@@ -90,7 +90,9 @@
}
static void tentacle_fx_free(VisualFX *_this) {
- tentacle_free((TentacleFXData*)_this->fx_data);
+ TentacleFXData *data = (TentacleFXData*)_this->fx_data;
+ free(data->params.params);
+ tentacle_free(data);
free(_this->fx_data);
}
@@ -106,6 +108,13 @@
static void tentacle_free (TentacleFXData *data) {
/* TODO : un vrai FREE GRID!! */
+ int tmp;
+ for (tmp=0;tmp<nbgrid;tmp++){
+ grid3d *g = data->grille[tmp];
+ free (g->surf.vertex);
+ free (g->surf.svertex);
+ free (g);
+ }
free (data->vals);
}