1
0
mirror of https://github.com/blawar/GLideN64.git synced 2024-07-02 09:03:37 +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,20 +216,21 @@ void FrameBuffer_SaveBuffer( u32 address, u16 format, u16 size, u16 width, u16 h
{
FrameBuffer_Remove( current );
current = NULL;
} else {
FrameBuffer_MoveToTop( current );
ogl_glBindFramebuffer(GL_DRAW_FRAMEBUFFER, current->fbo);
if (current->size != size) {
f32 fillColor[4];
gDPGetFillColor(fillColor);
OGL_ClearColorBuffer(fillColor);
current->size = size;
current->texture->format = format;
current->texture->size = size;
}
}
FrameBuffer_MoveToTop( current );
ogl_glBindFramebuffer(GL_DRAW_FRAMEBUFFER, current->fbo);
if (current->size != size) {
f32 fillColor[4];
gDPGetFillColor(fillColor);
OGL_ClearColorBuffer(fillColor);
current->size = size;
current->texture->format = format;
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->startAddress = address;