summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_cb_flush.c
diff options
context:
space:
mode:
authorKeith Whitwell <[email protected]>2009-03-13 15:49:49 +0000
committerKeith Whitwell <[email protected]>2009-03-13 15:53:48 +0000
commitb3be1651f4a45660b447881f7c61c03a1b24302a (patch)
treefd393cb39be228463e1e0b159c6f6135bb37b228 /src/mesa/state_tracker/st_cb_flush.c
parentaf34fa316db32c09e0753f58d8275a357e187729 (diff)
mesa/st: add check for null front renderbuffer
Not sure if this indicates a problem elsewhere, but without this check trivial/tri-fbo.c segfaults on resize. With the patch, it renders correctly.
Diffstat (limited to 'src/mesa/state_tracker/st_cb_flush.c')
-rw-r--r--src/mesa/state_tracker/st_cb_flush.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/mesa/state_tracker/st_cb_flush.c b/src/mesa/state_tracker/st_cb_flush.c
index 4fdb6730879..7d7d3823c99 100644
--- a/src/mesa/state_tracker/st_cb_flush.c
+++ b/src/mesa/state_tracker/st_cb_flush.c
@@ -63,16 +63,19 @@ display_front_buffer(struct st_context *st)
GLframebuffer *fb = st->ctx->DrawBuffer;
struct st_renderbuffer *strb
= st_renderbuffer(fb->Attachment[BUFFER_FRONT_LEFT].Renderbuffer);
- struct pipe_surface *front_surf = strb->surface;
- /* Hook for copying "fake" frontbuffer if necessary:
- */
- st->pipe->screen->flush_frontbuffer( st->pipe->screen, front_surf,
- st->pipe->priv );
-
- /*
- st->frontbuffer_status = FRONT_STATUS_UNDEFINED;
- */
+ if (strb) {
+ struct pipe_surface *front_surf = strb->surface;
+
+ /* Hook for copying "fake" frontbuffer if necessary:
+ */
+ st->pipe->screen->flush_frontbuffer( st->pipe->screen, front_surf,
+ st->pipe->priv );
+
+ /*
+ st->frontbuffer_status = FRONT_STATUS_UNDEFINED;
+ */
+ }
}