mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-18 20:18:06 +02:00
To quote Uli Schlachter, who understands this stuff more than I do:
> The function __glXSendError() in mesa's src/glx/glx_error.c invents an X11
> protocol error out of thin air. For the sequence number it uses dpy->request.
> This is the sequence number of the last request that was sent. _XError() will
> then update dpy->last_request_read based on the sequence number of the error
> that just "came in".
>
> If now another something comes in with a sequence number less than
> dpy->last_request_read, since sequence numbers are monotonically increasing,
> widen() will incorrectly add 1<<32 to the sequence number and things might go
> downhill afterwards.
`__glXSendErrorForXcb` was also patched, as that's the function that
`glXCreateContextAttribsARB` actually uses.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99781
Cc: mesa-stable@lists.freedesktop.org
Fixes:
|
||
|---|---|---|
| .. | ||
| apple | ||
| tests | ||
| windows | ||
| .gitignore | ||
| applegl_glx.c | ||
| clientattrib.c | ||
| clientinfo.c | ||
| compsize.c | ||
| create_context.c | ||
| dri2.c | ||
| dri2.h | ||
| dri2_glx.c | ||
| dri2_priv.h | ||
| dri3_glx.c | ||
| dri3_priv.h | ||
| dri_common.c | ||
| dri_common.h | ||
| dri_common_interop.c | ||
| dri_common_query_renderer.c | ||
| dri_glx.c | ||
| dri_sarea.h | ||
| drisw_glx.c | ||
| drisw_priv.h | ||
| driwindows_glx.c | ||
| eval.c | ||
| g_glxglvnddispatchfuncs.c | ||
| g_glxglvnddispatchindices.h | ||
| glx_error.c | ||
| glx_error.h | ||
| glx_pbuffer.c | ||
| glx_query.c | ||
| glxclient.h | ||
| glxcmds.c | ||
| glxconfig.c | ||
| glxconfig.h | ||
| glxcurrent.c | ||
| glxext.c | ||
| glxextensions.c | ||
| glxextensions.h | ||
| glxglvnd.c | ||
| glxglvnd.h | ||
| glxglvnddispatchfuncs.h | ||
| glxhash.c | ||
| glxhash.h | ||
| indirect_glx.c | ||
| indirect_init.h | ||
| indirect_texture_compression.c | ||
| indirect_transpose_matrix.c | ||
| indirect_vertex_array.c | ||
| indirect_vertex_array.h | ||
| indirect_vertex_array_priv.h | ||
| indirect_vertex_program.c | ||
| indirect_window_pos.c | ||
| meson.build | ||
| packrender.h | ||
| packsingle.h | ||
| pixel.c | ||
| pixelstore.c | ||
| query_renderer.c | ||
| render2.c | ||
| renderpix.c | ||
| SConscript | ||
| single2.c | ||
| singlepix.c | ||
| vertarr.c | ||
| XF86dri.c | ||
| xf86dri.h | ||
| xf86dristr.h | ||
| xfont.c | ||