[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36284] trunk/blender/source/blender/ editors/object/object_bake.c: cancelling bake wasn't freeing the bake mask.

Campbell Barton ideasman42 at gmail.com
Fri Apr 22 18:47:18 CEST 2011


Revision: 36284
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36284
Author:   campbellbarton
Date:     2011-04-22 16:47:17 +0000 (Fri, 22 Apr 2011)
Log Message:
-----------
cancelling bake wasn't freeing the bake mask.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/object/object_bake.c

Modified: trunk/blender/source/blender/editors/object/object_bake.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_bake.c	2011-04-22 15:34:07 UTC (rev 36283)
+++ trunk/blender/source/blender/editors/object/object_bake.c	2011-04-22 16:47:17 UTC (rev 36284)
@@ -189,9 +189,18 @@
 		for(ima= G.main->image.first; ima; ima= ima->id.next) {
 			if(ima->ok==IMA_OK_LOADED) {
 				ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
-				if(ibuf && (ibuf->userflags & IB_BITMAPDIRTY)) {
-					GPU_free_image(ima);
-					imb_freemipmapImBuf(ibuf);
+				if(ibuf) {
+					if(ibuf->userflags & IB_BITMAPDIRTY) {
+						GPU_free_image(ima);
+						imb_freemipmapImBuf(ibuf);
+					}
+
+					/* freed when baking is done, but if its canceled we need to free here */
+					if (ibuf->userdata) {
+						printf("freed\n");
+						MEM_freeN(ibuf->userdata);
+						ibuf->userdata= NULL;
+					}
 				}
 			}
 		}




More information about the Bf-blender-cvs mailing list