Mesa (master): gallium: Only set FRONT_STATUS_COPY_OF_BACK if there is a back buffer.

Jakob Bornecrantz wallbraker at kemper.freedesktop.org
Tue Jul 7 18:19:41 UTC 2009


Module: Mesa
Branch: master
Commit: 96601ec8e0e35d540c1819a48df7f08ec5874ab7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=96601ec8e0e35d540c1819a48df7f08ec5874ab7

Author: Michel Dänzer <daenzer at vmware.com>
Date:   Tue Jul  7 12:17:04 2009 +0200

gallium: Only set FRONT_STATUS_COPY_OF_BACK if there is a back buffer.

Fixes potential crash when SwapBuffers is called but there's no back buffer.

---

 src/mesa/state_tracker/st_framebuffer.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/mesa/state_tracker/st_framebuffer.c b/src/mesa/state_tracker/st_framebuffer.c
index 33a90ea..fe99fc0 100644
--- a/src/mesa/state_tracker/st_framebuffer.c
+++ b/src/mesa/state_tracker/st_framebuffer.c
@@ -280,7 +280,8 @@ st_notify_swapbuffers(struct st_framebuffer *stfb)
 		PIPE_FLUSH_SWAPBUFFERS |
 		PIPE_FLUSH_FRAME,
                 NULL );
-      ctx->st->frontbuffer_status = FRONT_STATUS_COPY_OF_BACK;
+      if (st_renderbuffer(stfb->Base.Attachment[BUFFER_BACK_LEFT].Renderbuffer))
+         ctx->st->frontbuffer_status = FRONT_STATUS_COPY_OF_BACK;
    }
 }
 




More information about the mesa-commit mailing list