osmesa: fix renderbuffer memleak in OSMesaMakeCurrent()
Fixes fd.o bug 31128.
This commit is contained in:
parent
156e955c25
commit
9c2b4814d0
|
@ -1327,10 +1327,12 @@ OSMesaMakeCurrent( OSMesaContext osmesa, void *buffer, GLenum type,
|
||||||
* that converts rendering from CHAN_BITS to the user-requested channel
|
* that converts rendering from CHAN_BITS to the user-requested channel
|
||||||
* size.
|
* size.
|
||||||
*/
|
*/
|
||||||
osmesa->rb = new_osmesa_renderbuffer(&osmesa->mesa, osmesa->format, type);
|
if (!osmesa->rb) {
|
||||||
_mesa_remove_renderbuffer(osmesa->gl_buffer, BUFFER_FRONT_LEFT);
|
osmesa->rb = new_osmesa_renderbuffer(&osmesa->mesa, osmesa->format, type);
|
||||||
_mesa_add_renderbuffer(osmesa->gl_buffer, BUFFER_FRONT_LEFT, osmesa->rb);
|
_mesa_remove_renderbuffer(osmesa->gl_buffer, BUFFER_FRONT_LEFT);
|
||||||
assert(osmesa->rb->RefCount == 2);
|
_mesa_add_renderbuffer(osmesa->gl_buffer, BUFFER_FRONT_LEFT, osmesa->rb);
|
||||||
|
assert(osmesa->rb->RefCount == 2);
|
||||||
|
}
|
||||||
|
|
||||||
/* Set renderbuffer fields. Set width/height = 0 to force
|
/* Set renderbuffer fields. Set width/height = 0 to force
|
||||||
* osmesa_renderbuffer_storage() being called by _mesa_resize_framebuffer()
|
* osmesa_renderbuffer_storage() being called by _mesa_resize_framebuffer()
|
||||||
|
|
Loading…
Reference in New Issue