Program: 58651
Project: 58651
Buggy source:
private void renderGlobalBrush(GL gl){
  if (detailLevel != EDetailLevel.HIGH)   return;
  gl.glColor4f(0,0,0,1f);
  gl.glLineWidth(ParCoordsRenderStyle.Y_AXIS_LINE_WIDTH);
  float fXOrigin=-0.25f;
  gl.glBegin(GL.GL_LINES);
  gl.glVertex3f(fXOrigin,0,AXIS_Z);
  gl.glVertex3f(fXOrigin,renderStyle.getAxisHeight(),AXIS_Z);
  gl.glVertex3f(fXOrigin - AXIS_MARKER_WIDTH,0,AXIS_Z);
  gl.glVertex3f(fXOrigin + AXIS_MARKER_WIDTH,0,AXIS_Z);
  gl.glVertex3f(fXOrigin - AXIS_MARKER_WIDTH,renderStyle.getAxisHeight(),AXIS_Z);
  gl.glVertex3f(fXOrigin + AXIS_MARKER_WIDTH,renderStyle.getAxisHeight(),AXIS_Z);
  gl.glEnd();
  gl.glBlendFunc(GL.GL_ONE,GL.GL_ONE_MINUS_SRC_ALPHA);
  float fYGateAddOrigin=renderStyle.getAxisHeight();
  int iPickingID=pickingManager.getPickingID(iUniqueID,EPickingType.ADD_MASTER_GATE,1);
  Texture tempTexture=textureManager.getIconTexture(gl,EIconTextures.ADD_GATE);
  tempTexture.enable();
  tempTexture.bind();
  TextureCoords texCoords=tempTexture.getImageTexCoords();
  gl.glPushAttrib(GL.GL_CURRENT_BIT | GL.GL_LINE_BIT);
  gl.glColor4f(1,1,1,1);
  gl.glPushName(iPickingID);
  gl.glBegin(GL.GL_POLYGON);
  gl.glTexCoord2f(texCoords.left(),texCoords.bottom());
  gl.glVertex3f(fXOrigin - 0.05f,fYGateAddOrigin,AXIS_Z);
  gl.glTexCoord2f(texCoords.right(),texCoords.bottom());
  gl.glVertex3f(fXOrigin + 0.05f,fYGateAddOrigin,AXIS_Z);
  gl.glTexCoord2f(texCoords.right(),texCoords.top());
  gl.glVertex3f(fXOrigin + 0.05f,fYGateAddOrigin + 0.2f,AXIS_Z);
  gl.glTexCoord2f(texCoords.left(),texCoords.top());
  gl.glVertex3f(fXOrigin - 0.05f,fYGateAddOrigin + 0.2f,AXIS_Z);
  gl.glEnd();
  gl.glPopName();
  gl.glPopAttrib();
  tempTexture.disable();
  gl.glBlendFunc(GL.GL_SRC_ALPHA,GL.GL_ONE_MINUS_SRC_ALPHA);
  for (  Integer iGateID : hashMasterGates.keySet()) {
    Gate gate=hashMasterGates.get(iGateID);
    Float fBottom=gate.getCurrentBottom();
    Float fTop=gate.getCurrentTop();
    gl.glColor4fv(ParCoordsRenderStyle.GATE_BODY_COLOR,0);
    gl.glBegin(GL.GL_POLYGON);
    gl.glVertex3f(fXOrigin,fBottom,0);
    gl.glVertex3f(viewFrustum.getWidth(),fBottom,0);
    gl.glVertex3f(viewFrustum.getWidth(),fTop,0);
    gl.glVertex3f(fXOrigin - 0.05f,fTop,0);
    gl.glEnd();
    gate.setCurrentPosition(fXOrigin);
    gate.draw(gl,pickingManager,textureManager,textRenderer,iUniqueID);
  }
}

Fixed version (ground truth):
private void renderGlobalBrush(GL gl){
  if (detailLevel != EDetailLevel.HIGH)   return;
  gl.glColor4f(0,0,0,1f);
  gl.glLineWidth(ParCoordsRenderStyle.Y_AXIS_LINE_WIDTH);
  float fXOrigin=-0.25f;
  gl.glBegin(GL.GL_LINES);
  gl.glVertex3f(fXOrigin,0,AXIS_Z);
  gl.glVertex3f(fXOrigin,renderStyle.getAxisHeight(),AXIS_Z);
  gl.glVertex3f(fXOrigin - AXIS_MARKER_WIDTH,0,AXIS_Z);
  gl.glVertex3f(fXOrigin + AXIS_MARKER_WIDTH,0,AXIS_Z);
  gl.glVertex3f(fXOrigin - AXIS_MARKER_WIDTH,renderStyle.getAxisHeight(),AXIS_Z);
  gl.glVertex3f(fXOrigin + AXIS_MARKER_WIDTH,renderStyle.getAxisHeight(),AXIS_Z);
  gl.glEnd();
  gl.glBlendFunc(GL.GL_ONE,GL.GL_ONE_MINUS_SRC_ALPHA);
  float fYGateAddOrigin=renderStyle.getAxisHeight();
  int iPickingID=pickingManager.getPickingID(iUniqueID,EPickingType.ADD_MASTER_GATE,1);
  gl.glPushName(iPickingID);
  Vec3f lowerLeftCorner=new Vec3f(fXOrigin - 0.05f,fYGateAddOrigin,AXIS_Z);
  Vec3f lowerRightCorner=new Vec3f(fXOrigin + 0.05f,fYGateAddOrigin,AXIS_Z);
  Vec3f upperRightCorner=new Vec3f(fXOrigin + 0.05f,fYGateAddOrigin + 0.2f,AXIS_Z);
  Vec3f upperLeftCorner=new Vec3f(fXOrigin - 0.05f,fYGateAddOrigin + 0.2f,AXIS_Z);
  Vec3f scalingPivot=new Vec3f(fXOrigin,fYGateAddOrigin,AXIS_Z);
  textureManager.renderGUITexture(gl,EIconTextures.ADD_GATE,lowerLeftCorner,lowerRightCorner,upperRightCorner,upperLeftCorner,scalingPivot,1,1,1,1,100);
  gl.glPopName();
  gl.glBlendFunc(GL.GL_SRC_ALPHA,GL.GL_ONE_MINUS_SRC_ALPHA);
  for (  Integer iGateID : hashMasterGates.keySet()) {
    Gate gate=hashMasterGates.get(iGateID);
    Float fBottom=gate.getBottom();
    Float fTop=gate.getTop();
    gl.glColor4fv(ParCoordsRenderStyle.GATE_BODY_COLOR,0);
    gl.glBegin(GL.GL_POLYGON);
    gl.glVertex3f(fXOrigin,fBottom,0);
    gl.glVertex3f(viewFrustum.getWidth(),fBottom,0);
    gl.glVertex3f(viewFrustum.getWidth(),fTop,0);
    gl.glVertex3f(fXOrigin - 0.05f,fTop,0);
    gl.glEnd();
    gate.setCurrentPosition(fXOrigin);
    gate.draw(gl,pickingManager,textureManager,textRenderer,iUniqueID);
  }
}