1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-07 03:13:49 +00:00

Fix bug in FrameBuffer_SaveBuffer:

don't use removed buffer
This commit is contained in:
Sergey Lipskiy 2013-09-05 22:53:49 +07:00
parent 31d236f59b
commit 35ab89d379

View File

@ -216,8 +216,7 @@ void FrameBuffer_SaveBuffer( u32 address, u16 format, u16 size, u16 width, u16 h
{ {
FrameBuffer_Remove( current ); FrameBuffer_Remove( current );
current = NULL; current = NULL;
} } else {
FrameBuffer_MoveToTop( current ); FrameBuffer_MoveToTop( current );
ogl_glBindFramebuffer(GL_DRAW_FRAMEBUFFER, current->fbo); ogl_glBindFramebuffer(GL_DRAW_FRAMEBUFFER, current->fbo);
if (current->size != size) { if (current->size != size) {
@ -228,8 +227,10 @@ void FrameBuffer_SaveBuffer( u32 address, u16 format, u16 size, u16 width, u16 h
current->texture->format = format; current->texture->format = format;
current->texture->size = size; current->texture->size = size;
} }
} else { }
// Wasn't found, create a new one }
if (current == NULL) {
// Wasn't found or removed, create a new one
current = FrameBuffer_AddTop(); current = FrameBuffer_AddTop();
current->startAddress = address; current->startAddress = address;