diff options
| author | José Fonseca <jfonseca@vmware.com> | 2012-02-02 13:19:56 +0000 |
|---|---|---|
| committer | José Fonseca <jfonseca@vmware.com> | 2012-02-02 14:45:30 +0000 |
| commit | edb19707951306447daef43c1ea3cacec5f211fb (patch) | |
| tree | ccc12b60d2772c28b11ba4955d511fc8ca1081ed /src/gallium/auxiliary/draw/draw_pipe_aaline.c | |
| parent | efd73f72d8f34a40d6a1cd279fffa48dc13b6e5b (diff) | |
| download | external_mesa3d-edb19707951306447daef43c1ea3cacec5f211fb.tar.gz external_mesa3d-edb19707951306447daef43c1ea3cacec5f211fb.tar.bz2 external_mesa3d-edb19707951306447daef43c1ea3cacec5f211fb.zip | |
draw: Avoid NULL pointer dereference when binding NULL fragment shaders.
Now that the draw module avoids flushing, it may flush precisely when
binding a NULL shader, so care must be taken when restoring the original
fragment shader.
Reviewed-by: Brian Paul <brianp@vmware.com>
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_pipe_aaline.c')
| -rw-r--r-- | src/gallium/auxiliary/draw/draw_pipe_aaline.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pipe_aaline.c b/src/gallium/auxiliary/draw/draw_pipe_aaline.c index 0b368da674..ea0a4fb3f2 100644 --- a/src/gallium/auxiliary/draw/draw_pipe_aaline.c +++ b/src/gallium/auxiliary/draw/draw_pipe_aaline.c @@ -738,7 +738,7 @@ aaline_flush(struct draw_stage *stage, unsigned flags) /* restore original frag shader, texture, sampler state */ draw->suspend_flushing = TRUE; - aaline->driver_bind_fs_state(pipe, aaline->fs->driver_fs); + aaline->driver_bind_fs_state(pipe, aaline->fs ? aaline->fs->driver_fs : NULL); aaline->driver_bind_sampler_states(pipe, aaline->num_samplers, aaline->state.sampler); aaline->driver_set_sampler_views(pipe, |
