diff options
author | Keith Whitwell <keithw@vmware.com> | 2009-03-13 15:49:49 +0000 |
---|---|---|
committer | Keith Whitwell <keithw@vmware.com> | 2009-03-13 15:53:48 +0000 |
commit | b3be1651f4a45660b447881f7c61c03a1b24302a (patch) | |
tree | fd393cb39be228463e1e0b159c6f6135bb37b228 /src/mesa | |
parent | af34fa316db32c09e0753f58d8275a357e187729 (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')
-rw-r--r-- | src/mesa/state_tracker/st_cb_flush.c | 21 |
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 4fdb673087..7d7d3823c9 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; + */ + } } |