goom2k4-0-memleaks.patch
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:4k
源码类别:

midi

开发平台:

Unix_Linux

  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.