Find a file
Yuxuan Shui 88399e01be Revert "Update XPutBackEvent() to support clients that put back unpadded events"
This reverts commit d6d6cba902.

The reverted commit intended to fix the problem where an unpadded X
event struct is passed into XPutBackEvent, by creating a padded struct
with _XEventToWire and _XWireToEvent. However, _XWireToEvent updates the
last sequence number in Display, which may cause xlib to complain about
lost sequence numbers.

IMO, the problem that commit tried to solve is a bug in the client
library, and workaround it inside Xlib is bad practice, especially given
the problem it caused. Plus, the offender cited in the original commit
message, freeglut, has already fixed this problem.

Fixes: #176 #174

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2023-01-03 15:23:07 +00:00
include Fix 797755 Allow X*IfEvent() to reenter libX11 2022-11-19 09:20:00 -08:00
m4 Use __builtin_popcountl if available to replace Ones() in GetImage.c 2020-09-28 16:16:07 -07:00
man Add XFreeThreads function. 2022-11-11 17:04:00 +00:00
modules ximcp: Address warning found by UBSan when growing an empty tree 2022-12-10 23:15:47 -08:00
nls nls: consecutive cs number in en_US.UTF-8/XLC_LOCALE 2022-12-06 16:59:56 +00:00
specs specs: document change in XIMPreeditCallbacks 2022-11-03 14:47:19 -07:00
src Revert "Update XPutBackEvent() to support clients that put back unpadded events" 2023-01-03 15:23:07 +00:00
.gitignore Ignore test-driver (used by newer autoconf). 2015-07-19 23:01:05 +02:00
.gitlab-ci.yml gitlab CI: stop requiring Signed-off-by in commits 2022-08-05 14:06:46 -07: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.8.3 2022-12-15 14:56:28 -08:00
COPYING Copyright & license cleanup 2022-11-03 20:31:31 +00:00
cpprules.in Fix cross-compilation from macOS 2021-06-15 08:47:31 +01: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
README.md libX11 1.8.3 2022-12-15 14:56:28 -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:

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 primary 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

Release 1.8.3

  • Improved handling of reentering libX11 via X*IfEvent() calls (!171, !173)
  • Fix loading of en_US.UTF-8/XLC_LOCALE (#167, !174)
  • Add XFreeThreads() and automatic call from a destructor function when thread-safety-constructor is enabled (!167).
  • Address issues found by UBSan and AddressSanitizer
  • Fix build with older gcc versions (!169)

Release 1.8.2

  • Allow X*IfEvent() to reenter libX11 to avoid deadlock from unsafe calls when thread-safety-constructor is enabled (!150).
  • Remove Xlib's pthread function stubs - instead use system provided threads functions, including linking against any needed pthread libraries if thread-safety-constructor is enabled (!155, !156).
  • Fix off-by-one error in XKeycodeToKeysym for indexes > 3 (!78).
  • Allow XNSpotLocation with OnTheSpot (!127).
  • Fix Win32 build when -fno-common is in effect (!140).
  • Fix memory leak in XRegisterIMInstantiateCallback (!158).
  • Add compose sequences for the double-struck capitals (!144), the Samogitian E with dot above and macron (!147), Unicode minus sign (!163).
  • Change <^> <-> to mean superscript minus instead of macron (!162).
  • Delete compose sequences that mix top-row digits with numpad digits (!139) or mix upper & lower case letters (!144).
  • Delete some unuseful compose sequences meant for Bépo layout (!146).
  • Delete compose sequences using leftcaret & rightcaret keysyms (!163).
  • Remove KOI8-R character set from en_US.UTF-8/XLC_LOCALE (!148).
  • Map sr locales to sr_RS compose files (!161).

Release 1.8.1

  • Fix --enable-thread-safety-constructor configure option

Release 1.8

  • Add --enable-thread-safety-constructor configure option (default: enabled) to call XInitThreads() from the library's constructor, thus enabling thread-safety and locking by default. This may expose bugs in clients which did not follow documented rules for calling libX11 functions.
  • Fix Ethopian (am_ET.UTF-8) compose sequences.
  • Remove 8 compose sequences that generated the input symbols.
  • Add compose seuences for abovedot (<period> <space>), diaeresis (<quotedbl> <space>), and ogonek (<semicolon> <space>).

Release 1.7.5

  • Avoids a segfault when an invalid name is used for opening a display.

Release 1.7.4

  • Fixes the "Unknown sequence number" error by allowing backward jumps in the sequence number when widening it.
  • Any changes to virtual modifiers get propagated properly.
  • Greek case-conversion tables were updated to Unicode Data 14.0.
  • Compose sequences for ☮ 🄯 ⇐ ⇑ ⇓ were added, being the following: OY, ()), =<, =^, and =v.
  • Hammer-and-sickle can be composed with question mark plus backslash.

Release 1.7.3

  • Fixes a hanging issue in _XReply() where the replying thread would wait for an event when another thread was already waiting for one.
  • Avoids a crash when the X connection gets broken while closing down.

Release 1.7.2

This is a bug fix release, correcting a regression introduced by and improving the checks from the fix for CVE-2021-31535.

Release 1.7.1

This is a bug fix release, including a security fix for CVE-2021-31535, nls and documentation corrections.

  • Reject string longer than USHRT_MAX before sending them on the wire
  • Fix out-of-bound access in KeySymToUcs4()
  • nls: allow composing all breved letters also with a lowercase "u"
  • nls: add 'C.utf8' as an alias for 'en_US.UTF-8'
  • Nroff code fixes
  • Comments fixes

Release 1.7.0

Version 1.7.0 includes a new API, hence the change from the 1.6 series to 1.7:

  • XSetIOErrorExitHandler which provides a mechanism for applications to recover from I/O error conditions instead of being forced to exit. Thanks to Carlos Garnacho for this.

This release includes a bunch of bug fixes, some of which have been pending for over three years:

  • A bunch of nls cleanups to remove obsolete entries and clean up formatting of the list. Thanks to Benno Schulenberg for these.

  • Warning fixes and other cleanups across a huge swath of the library. Thanks to Alan Coopersmith for these.

  • Memory allocation bugs, including leaks and use after free in the locale code. Thanks to Krzesimir Nowak, Jacek Caban and Vittorio Zecca for these.

  • Thread safety fixes in the locale code. Thanks to Jacek Caban for these.

  • poll_for_response race condition fix. Thanks to Frediano Ziglio for the bulk of this effort, and to Peter Hutterer for careful review and improvements.

Version 1.7.0 includes a couple of new locales:

  • ia and ie locales. Thanks to Carmina16 for these.

There are also numerous compose entries added, including:

  • |^ or ^| for ↑, |v or v| for ↓, ~~ for ≈. Thanks to Antti Savolainen for this.

  • Allowing use of 'v' for caron, in addition to 'c', so things like vC for Č, vc for č. Thanks to Benno Schulenberg for this.

  • Compose sequences LT, lt for '<', and GT, gt for '>' for keyboards where those are difficult to access. Thanks to Jonathan Belsewir for this.