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 <yi....@intel.com> Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com> --- 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 ce96ddd..03c2a1e 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -115,13 +115,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 = true; + intel->need_throttle = true; - if (intel->batch.used) - intel_batchbuffer_flush(intel); + if (intel->batch.used) + intel_batchbuffer_flush(intel); + } } static const struct __DRI2flushExtensionRec intelFlushExtension = { -- 1.7.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev