[Bf-blender-cvs] [3b19288] cycles-ptex-49: Decrease Ptex packed image refcount

Nicholas Bishop noreply at git.blender.org
Tue Feb 10 14:03:51 CET 2015


Commit: 3b192888dc5e818d3cfa71e3b03654c99e8369c7
Author: Nicholas Bishop
Date:   Tue Feb 10 13:58:43 2015 +0100
Branches: cycles-ptex-49
https://developer.blender.org/rB3b192888dc5e818d3cfa71e3b03654c99e8369c7

Decrease Ptex packed image refcount

===================================================================

M	source/blender/blenkernel/intern/bke_ptex.c

===================================================================

diff --git a/source/blender/blenkernel/intern/bke_ptex.c b/source/blender/blenkernel/intern/bke_ptex.c
index 8f68118..c82b64c 100644
--- a/source/blender/blenkernel/intern/bke_ptex.c
+++ b/source/blender/blenkernel/intern/bke_ptex.c
@@ -25,6 +25,7 @@
 #include "BLI_utildefines.h"
 
 #include "BKE_image.h"
+#include "BKE_library.h"
 #include "BKE_ptex.h"
 
 #include "IMB_imbuf.h"
@@ -220,7 +221,6 @@ void BKE_loop_ptex_free(MLoopPtex *loop_ptex)
 	if (loop_ptex->rect) {
 		MEM_freeN(loop_ptex->rect);
 	}
-	//mesh_ptex_pack_free(loop_ptex->pack);
 }
 
 #ifdef WITH_PTEX
@@ -570,6 +570,10 @@ static bool ptex_pack_loops(Image **image, Mesh *me, MLoopPtex *loop_ptex)
 	BPXTypeDesc type_desc;
 	int i;
 
+	if (!image) {
+		return false;
+	}
+
 	if (!loop_ptex) {
 		return false;
 	}
@@ -631,12 +635,17 @@ static bool ptex_pack_loops(Image **image, Mesh *me, MLoopPtex *loop_ptex)
 	IMB_float_from_rect(ibuf);
 
 	(*image) = BKE_image_add_from_imbuf(ibuf);
-
+	
 	/* Image now owns the ImBuf */
 	IMB_freeImBuf(ibuf);
 
-	/* Return true only if Image was created successfully */
-	return (*image) != NULL;
+	if (*image) {
+		id_us_min(&(*image)->id);
+		return true;
+	}
+	else {
+		return false;
+	}
 }
 
 Image *BKE_ptex_mesh_image_get(struct Object *ob,




More information about the Bf-blender-cvs mailing list