[Bf-blender-cvs] [3a9897f] master: OpenSubdiv: Fix crash caused by applying subsurf on non-mesh object

Sergey Sharybin noreply at git.blender.org
Mon Aug 3 14:57:56 CEST 2015


Commit: 3a9897f8cee9884b0a38c54fec99ecfb75fbb0d9
Author: Sergey Sharybin
Date:   Mon Aug 3 14:33:03 2015 +0200
Branches: master
https://developer.blender.org/rB3a9897f8cee9884b0a38c54fec99ecfb75fbb0d9

OpenSubdiv: Fix crash caused by applying subsurf on non-mesh object

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

M	source/blender/gpu/intern/gpu_draw.c

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

diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c
index af8b2a0..bf7b8fb 100644
--- a/source/blender/gpu/intern/gpu_draw.c
+++ b/source/blender/gpu/intern/gpu_draw.c
@@ -1533,11 +1533,15 @@ void GPU_begin_object_materials(View3D *v3d, RegionView3D *rv3d, Scene *scene, O
 #ifdef WITH_OPENSUBDIV
 	{
 		DerivedMesh *derivedFinal = NULL;
-		Mesh *me = ob->data;
-		BMEditMesh *em = me->edit_btmesh;
-
-		if (em != NULL) {
-			derivedFinal = em->derivedFinal;
+		if (ob->type == OB_MESH) {
+			Mesh *me = ob->data;
+			BMEditMesh *em = me->edit_btmesh;
+			if (em != NULL) {
+				derivedFinal = em->derivedFinal;
+			}
+			else {
+				derivedFinal = ob->derivedFinal;
+			}
 		}
 		else {
 			derivedFinal = ob->derivedFinal;




More information about the Bf-blender-cvs mailing list