[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22604] branches/soc-2009-imbusy/source/ blender: fixed the messed up editmode bug, thanks a lot to nicholasbishop for tracking down the bug
Lukas Steiblys
imbusy at imbusy.org
Tue Aug 18 18:04:19 CEST 2009
Revision: 22604
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22604
Author: imbusy
Date: 2009-08-18 18:04:19 +0200 (Tue, 18 Aug 2009)
Log Message:
-----------
fixed the messed up editmode bug, thanks a lot to nicholasbishop for tracking down the bug
Modified Paths:
--------------
branches/soc-2009-imbusy/source/blender/blenkernel/intern/DerivedMesh.c
branches/soc-2009-imbusy/source/blender/editors/space_view3d/drawobject.c
branches/soc-2009-imbusy/source/blender/gpu/intern/gpu_buffers.c
Modified: branches/soc-2009-imbusy/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/soc-2009-imbusy/source/blender/blenkernel/intern/DerivedMesh.c 2009-08-18 15:37:31 UTC (rev 22603)
+++ branches/soc-2009-imbusy/source/blender/blenkernel/intern/DerivedMesh.c 2009-08-18 16:04:19 UTC (rev 22604)
@@ -503,7 +503,7 @@
int datatype[] = { GPU_BUFFER_INTER_V3F, GPU_BUFFER_INTER_END };
GPU_buffer_unlock( buffer );
GPU_interleaved_setup( buffer, datatype );
- GPU_buffer_lock_stream( buffer );
+ varray = GPU_buffer_lock_stream( buffer );
for(i=0,eed= emdm->em->edges.first; eed; i++,eed= eed->next) {
if(!setDrawOptions || setDrawOptions(userData, i)) {
draw = 1;
@@ -713,7 +713,7 @@
GPU_buffer_unlock( buffer );
GPU_interleaved_setup( buffer, datatype );
glShadeModel(GL_SMOOTH);
- GPU_buffer_lock_stream( buffer );
+ varray = GPU_buffer_lock_stream( buffer );
for (i=0,efa= emdm->em->faces.first; efa; i++,efa= efa->next) {
int drawSmooth = (efa->flag & ME_SMOOTH);
draw = setDrawOptions==NULL ? 1 : setDrawOptions(userData, i, &drawSmooth);
Modified: branches/soc-2009-imbusy/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- branches/soc-2009-imbusy/source/blender/editors/space_view3d/drawobject.c 2009-08-18 15:37:31 UTC (rev 22603)
+++ branches/soc-2009-imbusy/source/blender/editors/space_view3d/drawobject.c 2009-08-18 16:04:19 UTC (rev 22604)
@@ -1557,7 +1557,7 @@
int datatype[] = { GPU_BUFFER_INTER_V3F, GPU_BUFFER_INTER_END };
GPU_buffer_unlock( buffer );
GPU_interleaved_setup( buffer, datatype );
- GPU_buffer_lock_stream( buffer );
+ varray = GPU_buffer_lock_stream( buffer );
glBegin(GL_POINTS);
for (i=0,eve= emdm->em->verts.first; eve; i++,eve=eve->next) {
@@ -1681,7 +1681,7 @@
int datatype[] = { GPU_BUFFER_INTER_V3F, GPU_BUFFER_INTER_C4UB, GPU_BUFFER_INTER_END };
GPU_buffer_unlock( buffer );
GPU_interleaved_setup( buffer, datatype );
- GPU_buffer_lock_stream( buffer );
+ varray = GPU_buffer_lock_stream( buffer );
for (i=0,eed= em->edges.first; eed; i++,eed= eed->next) {
if(eed->h==0) {
unsigned char *col0 = cols[(eed->v1->f&SELECT)?1:0];
@@ -1788,7 +1788,7 @@
GPU_buffer_unlock( buffer );
GPU_interleaved_setup( buffer, datatype );
glShadeModel(GL_SMOOTH);
- GPU_buffer_lock_stream( buffer );
+ varray = GPU_buffer_lock_stream( buffer );
for (i=0,efa= efa_act; efa; i++,efa= efa->next) {
int drawSmooth = (efa->flag & ME_SMOOTH);
if (efa->h==0) {
@@ -2417,7 +2417,7 @@
GPU_buffer_unlock( buffer );
GPU_interleaved_setup( buffer, datatype );
glShadeModel(GL_SMOOTH);
- GPU_buffer_lock_stream( buffer );
+ varray = GPU_buffer_lock_stream( buffer );
for (i=0,efa= em->faces.first; efa; i++,efa= efa->next) {
int drawSmooth = (efa->flag & ME_SMOOTH);
if( efa->h == 0 ) {
Modified: branches/soc-2009-imbusy/source/blender/gpu/intern/gpu_buffers.c
===================================================================
--- branches/soc-2009-imbusy/source/blender/gpu/intern/gpu_buffers.c 2009-08-18 15:37:31 UTC (rev 22603)
+++ branches/soc-2009-imbusy/source/blender/gpu/intern/gpu_buffers.c 2009-08-18 16:04:19 UTC (rev 22604)
@@ -1115,8 +1115,11 @@
glDisableClientState( GL_TEXTURE_COORD_ARRAY );
if( GLStates & GPU_BUFFER_COLOR_STATE )
glDisableClientState( GL_COLOR_ARRAY );
- if( GLStates & GPU_BUFFER_ELEMENT_STATE )
- glBindBufferARB( GL_ELEMENT_ARRAY_BUFFER_ARB, 0 );
+ if( GLStates & GPU_BUFFER_ELEMENT_STATE ) {
+ if( useVBOs ) {
+ glBindBufferARB( GL_ELEMENT_ARRAY_BUFFER_ARB, 0 );
+ }
+ }
GLStates &= !(GPU_BUFFER_VERTEX_STATE | GPU_BUFFER_NORMAL_STATE | GPU_BUFFER_TEXCOORD_STATE | GPU_BUFFER_COLOR_STATE | GPU_BUFFER_ELEMENT_STATE);
for( i = 0; i < MAX_GPU_ATTRIB_DATA; i++ ) {
More information about the Bf-blender-cvs
mailing list