diff options
author | Chia-I Wu <olv@lunarg.com> | 2010-10-14 17:13:36 +0800 |
---|---|---|
committer | Chia-I Wu <olv@lunarg.com> | 2010-10-14 17:16:14 +0800 |
commit | d6de1f44a0cdcc739d3b319b5f102e1733e5b4e3 (patch) | |
tree | d62d48ea8163dab0acbf650897be7b5edea9ff0b /src/gallium/state_trackers/egl | |
parent | c97c77d8698ddab1c8a2900fe7c82e1d111ccb8a (diff) |
st/egl: Do not finish a fence that is NULL.
i915g would dereference the NULL pointer.
Diffstat (limited to 'src/gallium/state_trackers/egl')
-rw-r--r-- | src/gallium/state_trackers/egl/common/egl_g3d_api.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/state_trackers/egl/common/egl_g3d_api.c b/src/gallium/state_trackers/egl/common/egl_g3d_api.c index c0164daf9c..3bde39737b 100644 --- a/src/gallium/state_trackers/egl/common/egl_g3d_api.c +++ b/src/gallium/state_trackers/egl/common/egl_g3d_api.c @@ -609,8 +609,10 @@ egl_g3d_wait_client(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *ctx) gctx->stctxi->flush(gctx->stctxi, PIPE_FLUSH_RENDER_CACHE | PIPE_FLUSH_FRAME, &fence); - screen->fence_finish(screen, fence, 0); - screen->fence_reference(screen, &fence, NULL); + if (fence) { + screen->fence_finish(screen, fence, 0); + screen->fence_reference(screen, &fence, NULL); + } return EGL_TRUE; } |