Module: Mesa Branch: 7.11 Commit: 9b3ac17991b3b421591111f863f0583ef2f06a01 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b3ac17991b3b421591111f863f0583ef2f06a01
Author: Anuj Phogat <[email protected]> Date: Wed Jan 11 15:26:10 2012 -0800 intel: Fix segfault in glXSwapBuffers with no bound context Calling glXSwapBuffers with no bound context causes segmentation fault in function intelDRI2Flush. All the gl calls should be ignored after setting the current context to null. So the contents of framebuffer stay unchanged. But the driver should not seg fault. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44614 Reported-by: Yi Sun <[email protected]> Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Tested-by: Yi Sun <[email protected]> (cherry picked from commit dd7220652e65a8a23e7739eeee687f3d6a865b80) Conflicts: src/mesa/drivers/dri/intel/intel_screen.c --- src/mesa/drivers/dri/intel/intel_screen.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index 5ca9b66..96d448c 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -108,13 +108,15 @@ intelDRI2Flush(__DRIdrawable *drawable) GET_CURRENT_CONTEXT(ctx); struct intel_context *intel = intel_context(ctx); - if (intel->gen < 4) - INTEL_FIREVERTICES(intel); + if (intel != NULL) { + if (intel->gen < 4) + INTEL_FIREVERTICES(intel); - intel->need_throttle = GL_TRUE; + intel->need_throttle = GL_TRUE; - if (intel->batch.used) - intel_batchbuffer_flush(intel); + if (intel->batch.used) + intel_batchbuffer_flush(intel); + } } static const struct __DRI2flushExtensionRec intelFlushExtension = { _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
