libX11/p_xlib_skip_ext_env.diff

26 lines
610 B
Diff
Raw Permalink Normal View History

- Update to version 1.7.0 * libX11 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 which have been pending for over three years: + A bunch of nls cleanups to remove obsolete entries and clean up formatting of the ist. 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. - refreshed patches en-locales.diff, p_khmer-compose.diff and p_xlib_skip_ext_env.diff OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/libX11?expand=0&rev=62
2020-11-21 20:33:38 +01:00
Index: src/QuExt.c
===================================================================
--- src/QuExt.c.orig
+++ src/QuExt.c
@@ -45,6 +45,20 @@ XQueryExtension(
if (name != NULL && strlen(name) >= USHRT_MAX)
return false;
+ if (name && strlen (name) < 256)
+ {
+ char var[256 + 15];
+ int i;
+
+ strcpy (var, "XLIB_SKIP_EXT_");
+ for (i = 0; name[i]; i++)
+ var[i + 14] = name[i] == '-' ? '_' : name[i];
+
+ var[i + 14] = 0;
+ if (getenv (var))
+ return False;
+ }
+
LockDisplay(dpy);
GetReq(QueryExtension, req);
req->nbytes = name ? (CARD16) strlen(name) : 0;