am 8e9af2bd: am b439f561: am 13feccf5: Merge change I39f0003e into eclair

Merge commit '8e9af2bd1d600cd2c69c88c7d60c7d455921677e'

* commit '8e9af2bd1d600cd2c69c88c7d60c7d455921677e':
  fix [2235414] libagl glDeleteBuffers() crashes
This commit is contained in:
Mathias Agopian
2009-11-19 19:16:58 -08:00
committed by Android Git Automerger

View File

@@ -1548,24 +1548,36 @@ void glDeleteBuffers(GLsizei n, const GLuint* buffers)
GLuint name = buffers[i];
if (name) {
// unbind bound deleted buffers...
if (c->arrays.element_array_buffer->name == name) {
c->arrays.element_array_buffer = 0;
if (c->arrays.element_array_buffer) {
if (c->arrays.element_array_buffer->name == name) {
c->arrays.element_array_buffer = 0;
}
}
if (c->arrays.array_buffer->name == name) {
c->arrays.array_buffer = 0;
if (c->arrays.array_buffer) {
if (c->arrays.array_buffer->name == name) {
c->arrays.array_buffer = 0;
}
}
if (c->arrays.vertex.bo->name == name) {
c->arrays.vertex.bo = 0;
if (c->arrays.vertex.bo) {
if (c->arrays.vertex.bo->name == name) {
c->arrays.vertex.bo = 0;
}
}
if (c->arrays.normal.bo->name == name) {
c->arrays.normal.bo = 0;
if (c->arrays.normal.bo) {
if (c->arrays.normal.bo->name == name) {
c->arrays.normal.bo = 0;
}
}
if (c->arrays.color.bo->name == name) {
c->arrays.color.bo = 0;
if (c->arrays.color.bo) {
if (c->arrays.color.bo->name == name) {
c->arrays.color.bo = 0;
}
}
for (int t=0 ; t<GGL_TEXTURE_UNIT_COUNT ; t++) {
if (c->arrays.texture[t].bo->name == name) {
c->arrays.texture[t].bo = 0;
if (c->arrays.texture[t].bo) {
if (c->arrays.texture[t].bo->name == name) {
c->arrays.texture[t].bo = 0;
}
}
}
}