$OpenBSD: patch-source_blender_blenkernel_intern_subsurf_ccg_c,v 1.4 2007/05/25 12:19:14 steven Exp $
--- source/blender/blenkernel/intern/subsurf_ccg.c.orig	Wed Dec 13 16:39:25 2006
+++ source/blender/blenkernel/intern/subsurf_ccg.c	Sun May 20 14:53:10 2007
@@ -700,7 +700,7 @@ DerivedMesh *ss_to_cdderivedmesh(CCGSubSurf *ss, int s
 	for(index = 0; index < totedge; index++) {
 		CCGEdge *e = edgeMap2[index];
 		unsigned int flags = 0;
-		int edgeIdx = (int)ccgSubSurf_getEdgeEdgeHandle(ss, e);
+		long edgeIdx = (long)ccgSubSurf_getEdgeEdgeHandle(ss, e);
 
 		if(!ccgSubSurf_getEdgeNumFaces(ss, e)) flags |= ME_LOOSEEDGE;
 
@@ -1110,7 +1110,7 @@ static void ccgDM_getFinalEdge(DerivedMesh *dm, int ed
 		med->v2 = getEdgeIndex(ss, e, x+1, edgeSize);
 
 		if(ccgdm->me) {
-			int edgeIdx = (int) ccgSubSurf_getEdgeEdgeHandle(ss, e);
+			long edgeIdx = (long) ccgSubSurf_getEdgeEdgeHandle(ss, e);
 
 			if(edgeIdx!=-1) {
 				MEdge *medge = ccgdm->me->medge;
@@ -1288,7 +1288,7 @@ static void ccgDM_copyFinalEdgeArray(DerivedMesh *dm, 
 		CCGEdge *e = ccgdm->edgeMap[index].edge;
 		unsigned int flags = 0;
 		int x;
-		int edgeIdx = (int)ccgSubSurf_getEdgeEdgeHandle(ss, e);
+		long edgeIdx = (long)ccgSubSurf_getEdgeEdgeHandle(ss, e);
 
 		if(!ccgSubSurf_getEdgeNumFaces(ss, e)) flags |= ME_LOOSEEDGE;
 
@@ -1341,7 +1341,7 @@ static void ccgDM_copyFinalFaceArray(DerivedMesh *dm, 
 
 		if(!faceFlags) {
 			if(origFaces) {
-				int origIdx = (int) ccgSubSurf_getFaceFaceHandle(ss, f);
+				long origIdx = (long) ccgSubSurf_getFaceFaceHandle(ss, f);
 				MFace *origMFace = &origFaces[origIdx];
 
 				mat_nr = origMFace->mat_nr;
@@ -2300,7 +2300,7 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *s
 		int mapIndex = ccgDM_getEdgeMapIndex(ccgdm, ss, e);
 		int x;
 		int vertIdx[2];
-		int edgeIdx = (int)ccgSubSurf_getEdgeEdgeHandle(ss, e);
+		long edgeIdx = (long)ccgSubSurf_getEdgeEdgeHandle(ss, e);
 
 		CCGVert *v;
 		v = ccgSubSurf_getEdgeVert0(ss, e);
@@ -2456,7 +2456,7 @@ void subsurf_calculate_limit_positions(Mesh *me, float
 	vi = ccgSubSurf_getVertIterator(ss);
 	for (; !ccgVertIterator_isStopped(vi); ccgVertIterator_next(vi)) {
 		CCGVert *v = ccgVertIterator_getCurrent(vi);
-		int idx = (int) ccgSubSurf_getVertVertHandle(ss, v);
+		long idx = (long) ccgSubSurf_getVertVertHandle(ss, v);
 		int N = ccgSubSurf_getVertNumEdges(ss, v);
 		int numFaces = ccgSubSurf_getVertNumFaces(ss, v);
 		float *co;
