[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55017] trunk/blender/source/blender/ render/intern/source/pipeline.c: Fix #34501: Painting on image editor with texture brush causes memory leaks in render module
Sergey Sharybin
sergey.vfx at gmail.com
Mon Mar 4 13:40:25 CET 2013
Revision: 55017
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55017
Author: nazgul
Date: 2013-03-04 12:40:24 +0000 (Mon, 04 Mar 2013)
Log Message:
-----------
Fix #34501: Painting on image editor with texture brush causes memory leaks in render module
Issue was caused by svn rev54721 where donequeue wasn't fully handled
in cases rendering was canceled, which lead to some render results
unfreed.
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54721
Modified Paths:
--------------
trunk/blender/source/blender/render/intern/source/pipeline.c
Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pipeline.c 2013-03-04 12:39:31 UTC (rev 55016)
+++ trunk/blender/source/blender/render/intern/source/pipeline.c 2013-03-04 12:40:24 UTC (rev 55017)
@@ -967,7 +967,20 @@
if ((g_break=re->test_break(re->tbh)))
break;
}
-
+
+ if (g_break) {
+ /* review the done queue and handle all the render parts,
+ * so no unfreed render result are lurking around
+ */
+ BLI_thread_queue_nowait(donequeue);
+ while ((pa = BLI_thread_queue_pop(donequeue))) {
+ if (pa->result) {
+ render_result_free_list(&pa->fullresult, pa->result);
+ pa->result = NULL;
+ }
+ }
+ }
+
BLI_thread_queue_free(donequeue);
BLI_thread_queue_free(workqueue);
More information about the Bf-blender-cvs
mailing list