Program: 58856
Project: 58856
Buggy source:
private void buildDisplayList(final GL gl,int iGLDisplayListIndex){
  if (bRedrawTextures) {
    initTextures(gl);
    bRedrawTextures=false;
  }
  if (bHasFrustumChanged) {
    glHeatMapView.setDisplayListDirty();
    bHasFrustumChanged=false;
  }
  gl.glNewList(iGLDisplayListIndex,GL.GL_COMPILE);
  gl.glMatrixMode(GL.GL_MODELVIEW);
  gl.glLoadIdentity();
  gl.glColor4f(0,0,0,0.15f);
  gl.glBegin(GL.GL_QUADS);
  gl.glVertex3f(0,0,-0.1f);
  gl.glVertex3f(viewFrustum.getRight(),0,-0.1f);
  gl.glVertex3f(viewFrustum.getRight(),viewFrustum.getHeight(),-0.1f);
  gl.glVertex3f(0,viewFrustum.getHeight(),-0.1f);
  gl.glEnd();
  viewFrustum.setTop(viewFrustum.getTop() - 0.6f);
  viewFrustum.setLeft(viewFrustum.getLeft() + 0.1f);
  gl.glTranslatef(0.0f,0.4f,0);
  if (set.getVA(iContentVAID).getGroupList() != null)   renderClassAssignmentsGenes(gl);
  gl.glTranslatef(0.1f,0.0f,0);
  handleTexturePicking(gl);
  if (bSkipLevel1 == false) {
    renderOverviewBar(gl);
    renderMarkerOverviewBar(gl);
    renderSelectedElementsOverviewBar(gl);
    gl.glTranslatef(GAP_LEVEL1_2,0,0);
  }
 else {
    gl.glColor4f(1f,1f,0f,1f);
    gl.glTranslatef(0.2f,0.0f,0);
  }
  if (bIsHeatmapInFocus) {
    fAnimationScale=0.2f;
  }
 else {
    fAnimationScale=1.0f;
  }
  gl.glColor4f(1f,1f,1f,1f);
  renderTextureHeatMap(gl);
  renderMarkerTexture(gl);
  renderSelectedElementsTexture(gl);
  renderCursor(gl);
  if (set.getVA(iStorageVAID).getGroupList() != null) {
    renderClassAssignmentsExperimentsLevel2(gl);
    renderClassAssignmentsExperimentsLevel3(gl);
  }
  viewFrustum.setTop(viewFrustum.getTop() + 0.6f);
  viewFrustum.setLeft(viewFrustum.getLeft() - 0.1f);
  gl.glTranslatef(-0.1f,-0.4f,0);
  if (bSkipLevel1 == false) {
    gl.glTranslatef(-GAP_LEVEL1_2,0,0);
  }
 else {
    gl.glTranslatef(-0.2f,0.0f,0);
  }
  gl.glDisable(GL.GL_STENCIL_TEST);
  gl.glEndList();
}

Fixed version (ground truth):
private void buildDisplayList(final GL gl,int iGLDisplayListIndex){
  if (bRedrawTextures) {
    initTextures(gl);
    bRedrawTextures=false;
  }
  if (bHasFrustumChanged) {
    glHeatMapView.setDisplayListDirty();
    bHasFrustumChanged=false;
  }
  gl.glNewList(iGLDisplayListIndex,GL.GL_COMPILE);
  gl.glMatrixMode(GL.GL_MODELVIEW);
  gl.glLoadIdentity();
  gl.glColor4f(0,0,0,0.15f);
  gl.glBegin(GL.GL_QUADS);
  gl.glVertex3f(0,0,-0.1f);
  gl.glVertex3f(viewFrustum.getRight(),0,-0.1f);
  gl.glVertex3f(viewFrustum.getRight(),viewFrustum.getHeight(),-0.1f);
  gl.glVertex3f(0,viewFrustum.getHeight(),-0.1f);
  gl.glEnd();
  viewFrustum.setTop(viewFrustum.getTop() - 0.6f);
  viewFrustum.setLeft(viewFrustum.getLeft() + 0.1f);
  gl.glTranslatef(0.0f,0.4f,0);
  if (set.getVA(iContentVAID).getGroupList() != null)   renderClassAssignmentsGenes(gl);
  gl.glTranslatef(0.1f,0.0f,0);
  handleTexturePicking(gl);
  if (bSkipLevel1 == false) {
    renderOverviewBar(gl);
    renderMarkerOverviewBar(gl);
    renderSelectedElementsOverviewBar(gl);
    gl.glTranslatef(GAP_LEVEL1_2,0,0);
  }
 else {
    gl.glColor4f(1f,1f,0f,1f);
    gl.glTranslatef(0.2f,0.0f,0);
  }
  if (bIsHeatmapInFocus) {
    fAnimationScale=0.2f;
  }
 else {
    fAnimationScale=1.0f;
  }
  gl.glColor4f(1f,1f,1f,1f);
  renderTextureHeatMap(gl);
  renderMarkerTexture(gl);
  renderSelectedElementsTexture(gl);
  renderCursor(gl);
  if (set.getVA(iStorageVAID).getGroupList() != null) {
    renderClassAssignmentsExperimentsLevel2(gl);
    renderClassAssignmentsExperimentsLevel3(gl);
  }
  viewFrustum.setTop(viewFrustum.getTop() + 0.6f);
  viewFrustum.setLeft(viewFrustum.getLeft() - 0.1f);
  gl.glTranslatef(-0.1f,-0.4f,0);
  if (bSkipLevel1 == false) {
    gl.glTranslatef(-GAP_LEVEL1_2,0,0);
  }
 else {
    gl.glTranslatef(-0.2f,0.0f,0);
  }
  gl.glEndList();
}