[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [11235] branches/soc-2007-mosani/source/ blender: Fixed a memory leak: I wasn't freeing the G.renderers list.
Aaron Moore
two.a.ron at gmail.com
Thu Jul 12 04:01:55 CEST 2007
Revision: 11235
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=11235
Author: mosani
Date: 2007-07-12 04:01:07 +0200 (Thu, 12 Jul 2007)
Log Message:
-----------
Fixed a memory leak: I wasn't freeing the G.renderers list.
Modified Paths:
--------------
branches/soc-2007-mosani/source/blender/blenkernel/intern/blender.c
branches/soc-2007-mosani/source/blender/render/RND_plugin_system/source/internal_renderer.c
branches/soc-2007-mosani/source/blender/render/RND_plugin_system/source/plugin_renderer.c
Modified: branches/soc-2007-mosani/source/blender/blenkernel/intern/blender.c
===================================================================
--- branches/soc-2007-mosani/source/blender/blenkernel/intern/blender.c 2007-07-12 00:51:22 UTC (rev 11234)
+++ branches/soc-2007-mosani/source/blender/blenkernel/intern/blender.c 2007-07-12 02:01:07 UTC (rev 11235)
@@ -176,7 +176,9 @@
IMB_freeImBufdata(); /* imbuf lib */
- free_nodesystem();
+ free_nodesystem();
+
+ BLI_freelistN( &G.renderers ); /* free renderer list */
}
void duplicatelist(ListBase *list1, ListBase *list2) /* copy from 2 to 1 */
Modified: branches/soc-2007-mosani/source/blender/render/RND_plugin_system/source/internal_renderer.c
===================================================================
--- branches/soc-2007-mosani/source/blender/render/RND_plugin_system/source/internal_renderer.c 2007-07-12 00:51:22 UTC (rev 11234)
+++ branches/soc-2007-mosani/source/blender/render/RND_plugin_system/source/internal_renderer.c 2007-07-12 02:01:07 UTC (rev 11235)
@@ -1,5 +1,5 @@
/**
- * internal_renderer.c, 4 June 2007, mosani
+ * internal_renderer.c, 11 July 2007, mosani
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -36,15 +36,19 @@
void initialize_internal_renderer( char menu[], int *i )
{
- Renderer *internal = MEM_mallocN( sizeof(Renderer), "Renderer" );
- strcpy( internal->name, "Blender Internal" );
- internal->setup = internal_renderer_setup;
- internal->render_frame = internal_renderer_render_frame;
- internal->finish = internal_renderer_finish;
- internal->abort = internal_renderer_abort;
+ static int done = 0;
+ if( !done )
+ {
+ Renderer *internal = MEM_mallocN( sizeof(Renderer), "Renderer" );
+ strcpy( internal->name, "Blender Internal" );
+ internal->setup = internal_renderer_setup;
+ internal->render_frame = internal_renderer_render_frame;
+ internal->finish = internal_renderer_finish;
+ internal->abort = internal_renderer_abort;
- sprintf( menu, "%s|%s %%x%d", menu, internal->name, *i );
- (*i)++;
- BLI_addtail( &G.renderers, internal );
+ sprintf( menu, "%s|%s %%x%d", menu, internal->name, *i );
+ (*i)++;
+ BLI_addtail( &G.renderers, internal );
+ }
}
Modified: branches/soc-2007-mosani/source/blender/render/RND_plugin_system/source/plugin_renderer.c
===================================================================
--- branches/soc-2007-mosani/source/blender/render/RND_plugin_system/source/plugin_renderer.c 2007-07-12 00:51:22 UTC (rev 11234)
+++ branches/soc-2007-mosani/source/blender/render/RND_plugin_system/source/plugin_renderer.c 2007-07-12 02:01:07 UTC (rev 11235)
@@ -1,5 +1,5 @@
/**
- * plugin_renderer.c, 4 June 2007, mosani
+ * plugin_renderer.c, 11 July 2007, mosani
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -28,6 +28,10 @@
void initialize_plugin_renderers( char menu[], int *i )
{
-
+static int done = 0;
+ if( !done )
+ {
+ ;
+ }
}
More information about the Bf-blender-cvs
mailing list