Module: Mesa Branch: master Commit: 03cc31031315059a80d12485a402ea2a8731dc8a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=03cc31031315059a80d12485a402ea2a8731dc8a
Author: Paul Berry <stereotype...@gmail.com> Date: Thu May 30 07:08:07 2013 -0700 intel: make intel_flush_front safe to call during initial MakeCurrent The patch that follows will fix a bug that prevents intel_flush_front() from being called often enough. In doing so, it will create a situation where intel_flush_front() is called during the initial call to glXMakeCurrent(). In this circumstance, ctx->DrawBuffer hasn't been initialized yet and is NULL. Fortunately, intel->front_buffer_dirty is false, so intel_flush_front() doesn't actually need to do anything. To avoid a segfault, swap the order of terms in intel_flush_front()'s if statement. Reviewed-by: Chad Versace <chad.vers...@linux.intel.com> Reviewed-by: Anuj Phogat <anuj.pho...@gmail.com> --- src/mesa/drivers/dri/intel/intel_context.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c index 8c88b3c..54d0a69 100644 --- a/src/mesa/drivers/dri/intel/intel_context.c +++ b/src/mesa/drivers/dri/intel/intel_context.c @@ -132,7 +132,7 @@ intel_flush_front(struct gl_context *ctx) __DRIdrawable *driDrawable = driContext->driDrawablePriv; __DRIscreen *const screen = intel->intelScreen->driScrnPriv; - if (_mesa_is_winsys_fbo(ctx->DrawBuffer) && intel->front_buffer_dirty) { + if (intel->front_buffer_dirty && _mesa_is_winsys_fbo(ctx->DrawBuffer)) { if (screen->dri2.loader->flushFrontBuffer != NULL && driDrawable && driDrawable->loaderPrivate) { _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit