]> git.sesse.net Git - vlc/blob - extras/contrib/src/Patches/goom2k4-0-memleaks.patch
Contribs: use projectM 2.0.0
[vlc] / extras / contrib / src / Patches / goom2k4-0-memleaks.patch
1 diff -Naur goom-origin/src/convolve_fx.c goom/src/convolve_fx.c
2 --- goom-origin/src/convolve_fx.c       2005-02-07 14:46:42.000000000 +0100
3 +++ goom/src/convolve_fx.c      2009-03-23 11:16:13.000000000 +0100
4 @@ -107,7 +107,9 @@
5  }
6  
7  static void convolve_free(VisualFX *_this) {
8 -  free (_this->fx_data);
9 +  ConvData *data = _this->fx_data;
10 +  free (data->params.params);
11 +  free (data);
12  }
13  
14  static void create_output_with_brightness(VisualFX *_this, Pixel *src, Pixel *dest,
15 diff -Naur goom-origin/src/filters.c goom/src/filters.c
16 --- goom-origin/src/filters.c   2005-02-07 14:46:41.000000000 +0100
17 +++ goom/src/filters.c  2009-03-23 10:46:34.000000000 +0100
18 @@ -731,6 +731,12 @@
19  
20  static void zoomFilterVisualFXWrapper_free (struct _VISUAL_FX *_this)
21  {
22 +    ZoomFilterFXWrapperData *data = (ZoomFilterFXWrapperData*)_this->fx_data;
23 +    if (data->brutS) free (data->freebrutS);
24 +    if (data->brutD) free (data->freebrutD);
25 +    if (data->brutT) free (data->freebrutT);
26 +    free (data->firedec);
27 +    free (data->params.params);
28      free(_this->fx_data);
29  }
30  
31 diff -Naur goom-origin/src/flying_stars_fx.c goom/src/flying_stars_fx.c
32 --- goom-origin/src/flying_stars_fx.c   2005-02-07 14:46:41.000000000 +0100
33 +++ goom/src/flying_stars_fx.c  2009-03-23 11:18:57.000000000 +0100
34 @@ -129,7 +129,10 @@
35  }
36  
37  static void fs_free(VisualFX *_this) {
38 -       free (_this->fx_data);
39 +        FSData *data = (FSData*)_this->fx_data;
40 +        free (data->stars);
41 +        free (data->params.params);
42 +       free (data);
43  }
44  
45  
46 diff -Naur goom-origin/src/gfontlib.c goom/src/gfontlib.c
47 --- goom-origin/src/gfontlib.c  2005-02-07 14:46:41.000000000 +0100
48 +++ goom/src/gfontlib.c 2009-03-23 09:06:27.000000000 +0100
49 @@ -126,6 +126,8 @@
50          small_font_width [32] = font_width [32]/2;
51          font_chars [32] = 0;
52          small_font_chars [32] = 0;
53 +        free( gfont );
54 +        free( font_pos );
55  }
56  
57  void    goom_draw_text (Pixel * buf,int resolx,int resoly,
58 diff -Naur goom-origin/src/goom_core.c goom/src/goom_core.c
59 --- goom-origin/src/goom_core.c 2005-02-07 14:46:41.000000000 +0100
60 +++ goom/src/goom_core.c        2009-03-23 11:21:11.000000000 +0100
61 @@ -765,6 +765,15 @@
62      goomInfo->star_fx.free(&goomInfo->star_fx);
63      goomInfo->tentacles_fx.free(&goomInfo->tentacles_fx);
64      goomInfo->zoomFilter_fx.free(&goomInfo->zoomFilter_fx);
65 +
66 +    // Release info visual
67 +    free (goomInfo->params);
68 +    free (goomInfo->sound.params.params);
69 +
70 +    // Release PluginInfo
71 +    free (goomInfo->visuals);
72 +    gsl_free (goomInfo->scanner);
73 +    gsl_free (goomInfo->main_scanner);
74      
75      free(goomInfo);
76  }
77 diff -Naur goom-origin/src/goomsl.c goom/src/goomsl.c
78 --- goom-origin/src/goomsl.c    2005-02-07 14:46:41.000000000 +0100
79 +++ goom/src/goomsl.c   2009-03-23 11:07:25.000000000 +0100
80 @@ -90,6 +90,7 @@
81  
82  void iflow_free(InstructionFlow *_this)
83  { /* {{{ */
84 +  free(_this->instr);
85    goom_hash_free(_this->labels);
86    free(_this); /*TODO: finir cette fonction */
87  } /* }}} */
88 @@ -1422,8 +1423,12 @@
89  void gsl_free(GoomSL *gss)
90  { /* {{{ */
91    iflow_free(gss->iflow);
92 -  free(gss->vars);
93 -  free(gss->functions);
94 +  goom_hash_free(gss->vars);
95 +  goom_hash_free(gss->functions);
96 +  goom_hash_free(gss->structIDS);
97 +  free(gss->gsl_struct);
98 +  goom_heap_delete(gss->data_heap);
99 +  free(gss->ptrArray);
100    free(gss);
101  } /* }}} */
102  
103 diff -Naur goom-origin/src/lines.c goom/src/lines.c
104 --- goom-origin/src/lines.c     2005-02-07 14:46:41.000000000 +0100
105 +++ goom/src/lines.c    2009-03-23 10:28:26.000000000 +0100
106 @@ -199,6 +199,7 @@
107  goom_lines_free (GMLine ** l)
108  {
109         free ((*l)->points);
110 +       free ((*l)->points2);
111         free (*l);
112         l = NULL;
113  }
114 diff -Naur goom-origin/src/tentacle3d.c goom/src/tentacle3d.c
115 --- goom-origin/src/tentacle3d.c        2005-02-07 14:46:41.000000000 +0100
116 +++ goom/src/tentacle3d.c       2009-03-23 11:13:38.000000000 +0100
117 @@ -90,7 +90,9 @@
118  }
119  
120  static void tentacle_fx_free(VisualFX *_this) {
121 -       tentacle_free((TentacleFXData*)_this->fx_data);
122 +        TentacleFXData *data = (TentacleFXData*)_this->fx_data;
123 +        free(data->params.params);
124 +       tentacle_free(data);
125         free(_this->fx_data);
126  }
127  
128 @@ -106,6 +108,13 @@
129  
130  static void tentacle_free (TentacleFXData *data) {
131         /* TODO : un vrai FREE GRID!! */
132 +        int tmp;
133 +        for (tmp=0;tmp<nbgrid;tmp++){
134 +            grid3d *g = data->grille[tmp];
135 +            free (g->surf.vertex);
136 +            free (g->surf.svertex);
137 +            free (g);
138 +        }
139         free (data->vals);
140  }
141