[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23769] trunk/blender/source/blender/ blenkernel/intern/DerivedMesh.c: EditMesh was using VBO' s even when off in the user preferences causing glMapBufferARB to return an invalid array , however setDrawOptions was (incorrectly) disabling VBO' s in almost all cases so it didnt crash except for entering editmode on an object used as a custom bone shape .

Campbell Barton ideasman42 at gmail.com
Sun Oct 11 13:21:51 CEST 2009


Revision: 23769
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23769
Author:   campbellbarton
Date:     2009-10-11 13:21:51 +0200 (Sun, 11 Oct 2009)

Log Message:
-----------
EditMesh was using VBO's even when off in the user preferences causing glMapBufferARB to return an invalid array, however setDrawOptions was (incorrectly) disabling VBO's in almost all cases so it didnt crash except for entering editmode on an object used as a custom bone shape.

Changed to allow setDrawOptions (since it works fine), but only to use VBO's when its enabled in the userprefs.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c

Modified: trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2009-10-11 07:29:53 UTC (rev 23768)
+++ trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2009-10-11 11:21:51 UTC (rev 23769)
@@ -492,11 +492,12 @@
 		}
 		glEnd();
 	} else {
-		GPUBuffer *buffer = 0;
+		GPUBuffer *buffer = NULL;
 		float *varray;
-		if( setDrawOptions == 0 ) {
+
+		if(GPU_buffer_legacy(dm)==FALSE)
 			buffer = GPU_buffer_alloc( sizeof(float)*3*2*emdm->em->totedge, 0 );
-		}
+
 		if( buffer != 0 && (varray = GPU_buffer_lock_stream( buffer )) ) {
 			int prevdraw = 0;
 			int numedges = 0;





More information about the Bf-blender-cvs mailing list