[SDL] Patch for X11 BadValue errors on SDL_UpdateWindowRects

Marcus von Appen mva at sysfault.org
Mon Mar 26 23:16:59 PDT 2012


Hi,

using SDL_UpdateWindowRects () with SDL_Rect instances that do not clip
to the bounds of the SDL_Window causes a BadValue error on X11, if
shared memory is enabled:

X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  142 (MIT-SHM)
  Minor opcode of failed request:  3 (X_ShmPutImage)
  Value in failed request:  0x5
  Serial number of failed request:  67
  Current serial number in output stream:  70

Attached is a test program to recreate the behaviour (please give it a
try to see, if it fails for you, too) along with a simple patch for
SDL_x11framebuffer.c (rev. 6303), which reduces the rect area to the
window bounds.

I am not sure, if XPutImage() is more robust here, so I applied it to
the non-shared memory version, too.

Regards
Marcus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: main.c
Type: text/x-csrc
Size: 553 bytes
Desc: not available
URL: <http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20120327/bbcb5fd6/attachment.c>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SDL_x11framebuffer.c.patch
Type: text/x-diff
Size: 2498 bytes
Desc: not available
URL: <http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20120327/bbcb5fd6/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
URL: <http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20120327/bbcb5fd6/attachment.pgp>


More information about the SDL mailing list