[Bf-blender-cvs] [ce7679d] cycles-ptex-49: Make BKE_ptex_update_from_image return bool for failure

Nicholas Bishop noreply at git.blender.org
Mon Feb 9 14:40:17 CET 2015


Commit: ce7679d5b2589d140fe62416b18dfa4440977538
Author: Nicholas Bishop
Date:   Mon Feb 9 12:24:45 2015 +0100
Branches: cycles-ptex-49
https://developer.blender.org/rBce7679d5b2589d140fe62416b18dfa4440977538

Make BKE_ptex_update_from_image return bool for failure

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

M	source/blender/blenkernel/BKE_ptex.h
M	source/blender/blenkernel/intern/bke_ptex.c
M	source/blender/editors/sculpt_paint/paint_image_proj.c

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

diff --git a/source/blender/blenkernel/BKE_ptex.h b/source/blender/blenkernel/BKE_ptex.h
index 4be39cf..0bbba66 100644
--- a/source/blender/blenkernel/BKE_ptex.h
+++ b/source/blender/blenkernel/BKE_ptex.h
@@ -54,7 +54,7 @@ MPtexDataType BKE_loop_ptex_texel_data_type(const MLoopPtex *loop_ptex);
 
 void BKE_loop_ptex_resize(MLoopPtex *loop_ptex, const MPtexLogRes logres);
 
-void BKE_ptex_update_from_image(MLoopPtex *loop_ptex, const int totloop);
+bool BKE_ptex_update_from_image(MLoopPtex *loop_ptex, const int totloop);
 
 /* Add CD_LOOP_PTEX layer to DerivedMesh. The 'id' field will be just
  * the sequential loop indices, TODO */
diff --git a/source/blender/blenkernel/intern/bke_ptex.c b/source/blender/blenkernel/intern/bke_ptex.c
index e480cb6..f6d1fd0 100644
--- a/source/blender/blenkernel/intern/bke_ptex.c
+++ b/source/blender/blenkernel/intern/bke_ptex.c
@@ -132,7 +132,7 @@ void BKE_ptex_tess_face_interp(MTessFacePtex *tess_face_ptex,
 	}
 }
 
-void BKE_ptex_update_from_image(MLoopPtex *loop_ptex, const int totloop)
+bool BKE_ptex_update_from_image(MLoopPtex *loop_ptex, const int totloop)
 {
 	int i;
 
@@ -141,18 +141,18 @@ void BKE_ptex_update_from_image(MLoopPtex *loop_ptex, const int totloop)
 	ImBuf *ibuf;
 
 	if (!loop_ptex) {
-		return;
+		return false;
 	}
 
 	image = loop_ptex->image;
 	if (!image) {
-		return;
+		return false;
 	}
 
 	ibuf = BKE_image_acquire_ibuf(image, NULL, NULL);
 
 	if (!ibuf) {
-		return;
+		return false;
 	}
 
 	// TODO
@@ -186,6 +186,8 @@ void BKE_ptex_update_from_image(MLoopPtex *loop_ptex, const int totloop)
 	}
 
 	BKE_image_release_ibuf(image, ibuf, NULL);
+
+	return true;
 }
 
 static void *bke_ptex_texels_malloc(const MPtexTexelInfo texel_info,
diff --git a/source/blender/editors/sculpt_paint/paint_image_proj.c b/source/blender/editors/sculpt_paint/paint_image_proj.c
index 3caa8ba..34784d6 100644
--- a/source/blender/editors/sculpt_paint/paint_image_proj.c
+++ b/source/blender/editors/sculpt_paint/paint_image_proj.c
@@ -3860,8 +3860,10 @@ static void project_paint_end(ProjPaintState *ps)
 		Mesh *me = ps->ob->data;
 		MLoopPtex *loop_ptex = CustomData_get_layer(&me->ldata, CD_LOOP_PTEX);
 
-		// TODO
-		BKE_ptex_update_from_image(loop_ptex, me->totloop);
+		if (!BKE_ptex_update_from_image(loop_ptex, me->totloop)) {
+			// TODO
+			BLI_assert(!"BKE_ptex_update_from_image failed");
+		}
 
 		MEM_freeN(ps->dm_mtface_ptex);
 		ps->dm_mtface_ptex = NULL;




More information about the Bf-blender-cvs mailing list