[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