[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31944] trunk/blender/source/blender/ editors: bugfix [#23830] Border selecting bones in editmode bug
Campbell Barton
ideasman42 at gmail.com
Wed Sep 15 15:07:36 CEST 2010
Revision: 31944
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31944
Author: campbellbarton
Date: 2010-09-15 15:07:36 +0200 (Wed, 15 Sep 2010)
Log Message:
-----------
bugfix [#23830] Border selecting bones in editmode bug
was missing a call to glLoadName(-1); so drawing commands after the bone were taken into account with the selection.
made some other minor changes that dont change functionality.
Modified Paths:
--------------
trunk/blender/source/blender/editors/include/ED_armature.h
trunk/blender/source/blender/editors/space_view3d/drawarmature.c
Modified: trunk/blender/source/blender/editors/include/ED_armature.h
===================================================================
--- trunk/blender/source/blender/editors/include/ED_armature.h 2010-09-15 12:18:50 UTC (rev 31943)
+++ trunk/blender/source/blender/editors/include/ED_armature.h 2010-09-15 13:07:36 UTC (rev 31944)
@@ -78,12 +78,12 @@
short segments;
} EditBone;
-#define BONESEL_ROOT 0x10000000
-#define BONESEL_TIP 0x20000000
-#define BONESEL_BONE 0x40000000
+#define BONESEL_ROOT (1<<28)
+#define BONESEL_TIP (1<<29)
+#define BONESEL_BONE (1<<30)
#define BONESEL_ANY (BONESEL_TIP|BONESEL_ROOT|BONESEL_BONE)
-#define BONESEL_NOSEL 0x80000000 /* Indicates a negative number */
+#define BONESEL_NOSEL (1<<31) /* Indicates a negative number */
/* useful macros */
#define EBONE_VISIBLE(arm, ebone) ((arm->layer & ebone->layer) && !(ebone->flag & BONE_HIDDEN_A))
Modified: trunk/blender/source/blender/editors/space_view3d/drawarmature.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawarmature.c 2010-09-15 12:18:50 UTC (rev 31943)
+++ trunk/blender/source/blender/editors/space_view3d/drawarmature.c 2010-09-15 13:07:36 UTC (rev 31944)
@@ -310,7 +310,7 @@
if(displist==0) {
displist= glGenLists(1);
- glNewList(displist, GL_COMPILE_AND_EXECUTE);
+ glNewList(displist, GL_COMPILE);
glBegin(GL_QUADS);
n[0]= -1.0;
@@ -340,19 +340,17 @@
glEndList();
}
- else glCallList(displist);
-
+
+ glCallList(displist);
}
static void drawcube_size(float xsize, float ysize, float zsize)
{
static GLuint displist=0;
- glScalef(xsize, ysize, zsize);
-
if(displist == 0) {
displist= glGenLists(1);
- glNewList(displist, GL_COMPILE_AND_EXECUTE);
+ glNewList(displist, GL_COMPILE);
glBegin(GL_LINE_STRIP);
glVertex3fv(cube[0]); glVertex3fv(cube[1]);glVertex3fv(cube[2]); glVertex3fv(cube[3]);
@@ -368,7 +366,9 @@
glEndList();
}
- else glCallList(displist);
+
+ glScalef(xsize, ysize, zsize);
+ glCallList(displist);
}
@@ -381,7 +381,7 @@
GLUquadricObj *qobj;
displist= glGenLists(1);
- glNewList(displist, GL_COMPILE_AND_EXECUTE);
+ glNewList(displist, GL_COMPILE);
glPushMatrix();
@@ -400,8 +400,8 @@
glPopMatrix();
glEndList();
}
- else
- glCallList(displist);
+
+ glCallList(displist);
}
static void draw_bonevert_solid(void)
@@ -412,7 +412,7 @@
GLUquadricObj *qobj;
displist= glGenLists(1);
- glNewList(displist, GL_COMPILE_AND_EXECUTE);
+ glNewList(displist, GL_COMPILE);
qobj = gluNewQuadric();
gluQuadricDrawStyle(qobj, GLU_FILL);
@@ -423,8 +423,8 @@
glEndList();
}
- else
- glCallList(displist);
+
+ glCallList(displist);
}
static void draw_bone_octahedral()
@@ -435,7 +435,7 @@
float vec[6][3];
displist= glGenLists(1);
- glNewList(displist, GL_COMPILE_AND_EXECUTE);
+ glNewList(displist, GL_COMPILE);
vec[0][0]= vec[0][1]= vec[0][2]= 0.0f;
vec[5][0]= vec[5][2]= 0.0f; vec[5][1]= 1.0f;
@@ -467,8 +467,8 @@
glEndList();
}
- else
- glCallList(displist);
+
+ glCallList(displist);
}
static void draw_bone_solid_octahedral(void)
@@ -479,7 +479,7 @@
float vec[6][3], nor[3];
displist= glGenLists(1);
- glNewList(displist, GL_COMPILE_AND_EXECUTE);
+ glNewList(displist, GL_COMPILE);
vec[0][0]= vec[0][1]= vec[0][2]= 0.0f;
vec[5][0]= vec[5][2]= 0.0f; vec[5][1]= 1.0f;
@@ -529,8 +529,8 @@
glEndList();
}
- else
- glCallList(displist);
+
+ glCallList(displist);
}
/* *************** Armature drawing, bones ******************* */
@@ -1933,7 +1933,7 @@
if (v3d->zbuf) glDisable(GL_DEPTH_TEST);
- for (eBone=arm->edbo->first, index=0; eBone; eBone=eBone->next, index++) {
+ for (eBone=arm->edbo->first; eBone; eBone=eBone->next) {
if (eBone->layer & arm->layer) {
if ((eBone->flag & (BONE_HIDDEN_A|BONE_NO_DEFORM))==0) {
if (eBone->flag & (BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL))
@@ -1949,7 +1949,6 @@
/* if solid we draw it first */
if ((dt > OB_WIRE) && (arm->drawtype!=ARM_LINE)) {
- index= 0;
for (eBone=arm->edbo->first, index=0; eBone; eBone=eBone->next, index++) {
if (eBone->layer & arm->layer) {
if ((eBone->flag & BONE_HIDDEN_A)==0) {
@@ -2043,6 +2042,7 @@
}
/* restore */
+ if(index!=-1) glLoadName(-1);
if (arm->drawtype==ARM_LINE);
else if (dt>OB_WIRE) bglPolygonOffset(rv3d->dist, 0.0f);
@@ -2054,7 +2054,7 @@
if (v3d->zbuf) glDisable(GL_DEPTH_TEST);
- for (eBone=arm->edbo->first, index=0; eBone; eBone=eBone->next, index++) {
+ for (eBone=arm->edbo->first; eBone; eBone=eBone->next) {
if(eBone->layer & arm->layer) {
if ((eBone->flag & BONE_HIDDEN_A)==0) {
More information about the Bf-blender-cvs
mailing list