[Bf-blender-cvs] [9787183] cycles-ptex-49: Improve error handling and comment for Ptex resize

Nicholas Bishop noreply at git.blender.org
Mon Feb 9 17:31:53 CET 2015


Commit: 9787183e00a7cfd96e990ab7580c210bd096a58b
Author: Nicholas Bishop
Date:   Mon Feb 9 16:30:42 2015 +0100
Branches: cycles-ptex-49
https://developer.blender.org/rB9787183e00a7cfd96e990ab7580c210bd096a58b

Improve error handling and comment for Ptex resize

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

M	source/blender/blenkernel/BKE_ptex.h
M	source/blender/blenkernel/intern/bke_ptex.c
M	source/blender/editors/mesh/mesh_data.c

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

diff --git a/source/blender/blenkernel/BKE_ptex.h b/source/blender/blenkernel/BKE_ptex.h
index fa36b48..9fa1271 100644
--- a/source/blender/blenkernel/BKE_ptex.h
+++ b/source/blender/blenkernel/BKE_ptex.h
@@ -52,7 +52,10 @@ size_t BKE_ptex_bytes_per_texel(const MPtexTexelInfo texel_info);
 MPtexDataType BKE_ptex_texel_data_type(const MPtexTexelInfo texel_info);
 MPtexDataType BKE_loop_ptex_texel_data_type(const MLoopPtex *loop_ptex);
 
-void BKE_loop_ptex_resize(MLoopPtex *loop_ptex, const MPtexLogRes logres);
+/* Resize loop_ptex to the new logres
+ *
+ * Return true if successful, false otherwise. */
+bool BKE_loop_ptex_resize(MLoopPtex *loop_ptex, const MPtexLogRes logres);
 
 /* Copy regions from the image into loop_ptex
  *
diff --git a/source/blender/blenkernel/intern/bke_ptex.c b/source/blender/blenkernel/intern/bke_ptex.c
index 71b2a92..9676ac0 100644
--- a/source/blender/blenkernel/intern/bke_ptex.c
+++ b/source/blender/blenkernel/intern/bke_ptex.c
@@ -669,7 +669,7 @@ MPtexDataType BKE_loop_ptex_texel_data_type(const MLoopPtex *loop_ptex)
 	return loop_ptex->texel_info.data_type;
 }
 
-void BKE_loop_ptex_resize(MLoopPtex *loop_ptex, const MPtexLogRes dst_logres)
+bool BKE_loop_ptex_resize(MLoopPtex *loop_ptex, const MPtexLogRes dst_logres)
 {
 	MPtexRes src_res = bke_ptex_res_from_logres(loop_ptex->logres);
 	MPtexRes dst_res = bke_ptex_res_from_logres(dst_logres);
@@ -711,9 +711,11 @@ void BKE_loop_ptex_resize(MLoopPtex *loop_ptex, const MPtexLogRes dst_logres)
 		MEM_freeN(loop_ptex->rect);
 		loop_ptex->rect = dst_rect;
 		loop_ptex->logres = dst_logres;
+
+		return true;
 	}
 	else {
-		BLI_assert(!"TODO: BKE_loop_ptex_resize");
+		return false;
 	}
 }
 
@@ -1091,10 +1093,10 @@ struct Image *BKE_ptex_mesh_image_get(struct Object *UNUSED(ob),
 	return NULL;
 }
 
-// TODO: should return error
-void BKE_loop_ptex_resize(MLoopPtex *UNUSED(loop_ptex),
+bool BKE_loop_ptex_resize(MLoopPtex *UNUSED(loop_ptex),
 						  const MPtexLogRes UNUSED(dst_logres))
 {
+	return false;
 }
 
 bool BKE_ptex_import(struct Mesh *UNUSED(me), const char *UNUSED(filepath))
diff --git a/source/blender/editors/mesh/mesh_data.c b/source/blender/editors/mesh/mesh_data.c
index 3ed4ef9..8fb8748 100644
--- a/source/blender/editors/mesh/mesh_data.c
+++ b/source/blender/editors/mesh/mesh_data.c
@@ -889,7 +889,10 @@ static int mesh_ptex_res_change_exec(bContext *C, wmOperator *op)
 				const MPtexLogRes new_logres =
 					mesh_ptex_new_logres_calc(mode, lp->logres);
 
-				BKE_loop_ptex_resize(lp, new_logres);
+				if (!BKE_loop_ptex_resize(lp, new_logres)) {
+					/* TODO */
+					BLI_assert(!"Ptex resize failed");
+				}
 			}
 		}
 	}




More information about the Bf-blender-cvs mailing list