Find a file
Adam Jackson 68c72a7341 Fix XTS regression in XCopyColormapAndFree
XCopyColormapAndFree/5 threw an assertion:

    520|4 5 00014017 1 2|Assertion XCopyColormapAndFree-5.(A)
    520|4 5 00014017 1 3|When a colourmap argument does not name a valid colourmap,
    520|4 5 00014017 1 4|then a BadColor error occurs.
    520|4 5 00014017 1 5|METH: Create a bad colourmap by creating and freeing a colourmap.
    520|4 5 00014017 1 6|METH: Call test function using bad colourmap as the colourmap argument.
    520|4 5 00014017 1 7|METH: Verify that a BadColor error occurs.
    520|4 5 00014017 1 8|unexpected signal 6 (SIGABRT) received
    220|4 5 2 15:05:53|UNRESOLVED
    410|4 5 1 15:05:53|IC End
    510|4|system 0: Abandoning testset: caught unexpected signal 11 (SIGSEGV)

More specifically:

    lt-XCopyColormapAndFree: xcb_io.c:533: _XAllocID: Assertion `ret != inval_id' failed.

This bug was introduced (by following my advice, d'oh) in:

    commit 99a2cf1aa0
    Author: Tapani Pälli <tapani.palli@intel.com>
    Date:   Mon May 13 08:29:49 2019 +0300

        Protect colormap add/removal with display lock

In that patch we moved the call to _XcmsCopyCmapRecAndFree inside the
display lock. The problem is said routine has side effects, including
trying to implicitly create a colormap in some cases. Since we don't run
the XID handler until SyncHandle() we would see inconsistent internal
xlib state, triggering the above assert.

Fix this by dropping and re-taking the display lock before calling into
XCMS.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
2020-01-29 12:03:53 -05:00
include Fix lockup in _XReply() caused by recursive synchronization 2019-10-09 17:37:10 +00:00
m4 Revert “Dolt-ify" 2010-09-13 05:27:41 -04:00
man improve some formatting 2019-07-30 16:53:27 -04:00
modules Braille: Fix typing quickly 2019-06-07 23:39:22 +02:00
nls Compose sequences for rouble sign 2019-06-09 10:32:02 -07:00
specs specs/XKB: Fix misprint in documentation of XkbFreeGeomOverlayKeys() 2019-02-23 11:43:51 -08:00
src Fix XTS regression in XCopyColormapAndFree 2020-01-29 12:03:53 -05:00
.gitignore Ignore test-driver (used by newer autoconf). 2015-07-19 23:01:05 +02:00
AUTHORS libX11 1.5.0 2012-06-01 23:37:09 -07:00
autogen.sh autogen: add default patch prefix 2017-01-26 13:52:49 +10:00
configure.ac libX11 1.6.9 2019-10-09 13:41:29 -04:00
COPYING Bug 19379 - Provide docs with overview of all compose key combinations 2010-09-21 18:22:21 -07:00
cpprules.in Restore lost tabs in sed commands 2014-05-23 17:27:10 -07:00
docbook.am docbook.am: embed css styles inside the HTML HEAD element 2011-12-30 17:08:14 -05:00
Makefile.am Update README for gitlab migration 2018-11-19 21:26:23 -08:00
NEWS Move security fixes to the top of NEWS, and fix spacing. 2007-06-03 21:41:47 -07:00
README.md Update README for gitlab migration 2018-11-19 21:26:23 -08:00
x11-xcb.pc.in Split public Xlib/XCB functions into libX11-xcb 2006-10-05 17:44:22 -07:00
x11.pc.in Bug 15664: xau & xdmcp not needed in x11.pc dependencies when built with xcb 2009-03-12 17:11:42 -07:00

libX11 - Core X11 protocol client library

Documentation for this library can be found in the included man pages, and in the Xlib spec from the specs subdirectory, also available at:

https://www.x.org/releases/current/doc/libX11/libX11/libX11.html https://www.x.org/releases/current/doc/libX11/libX11/libX11.pdf

and the O'Reilly Xlib books, which they have made freely available online, though only for older versions of X11:

All questions regarding this software should be directed at the Xorg mailing list:

https://lists.x.org/mailman/listinfo/xorg

The master development code repository can be found at:

https://gitlab.freedesktop.org/xorg/lib/libX11

Please submit bug reports and requests to merge patches there.

For patch submission instructions, see:

https://www.x.org/wiki/Development/Documentation/SubmittingPatches