aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib
Commit message (Collapse)AuthorAgeFilesLines
* _XDefaultError: set XlibDisplayIOError flag before calling exitArthur Huillet2017-03-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _XReply isn't reentrant, and it can lead to deadlocks when the default error handler is called: _XDefaultError calls exit(1). It is called indirectly by _XReply when a X protocol error comes in that isn't filtered/handled by an extension or the application. This means that if the application (or one of its loaded shared libraries such as the NVIDIA OpenGL driver) has registered any _fini destructor, _fini will get called while still on the call stack of _XReply. If the destructor interacts with the X server and calls _XReply, it will hit a deadlock, looping on the following in _XReply: ConditionWait(dpy, dpy->xcb->reply_notify); It is legal for an application to make Xlib calls during _fini, and that is useful for an OpenGL driver to avoid resource leaks on the X server side, for example in the dlopen/dlclose case. However, the driver can not readily tell whether its _fini is being called because Xlib called exit, or for another reason (dlclose), so it is hard to cleanly work around this issue in the driver. This change makes it so _XReply effectively becomes a no-op when called after _XDefaultError was called, as though an XIOError had happened. The dpy connection isn't broken at that point, but any call to _XReply is going to hang. This is a bit of a kludge, because the more correct solution would be to make _XReply reentrant, maybe by broadcasting the reply_notify condition before calling the default error handler. However, such a change would carry a grater risk of introducing regressions in Xlib. This change will drop some valid requests on the floor, but this should not matter, as it will only do so in the case where the application is dying: X will clean up after it once exit() is done running. There is the case of XSetCloseDownMode(RETAIN_PERMANENT), but an application using that and wishing to clean up resources in _fini would currently be hitting a deadlock, which is hardly a better situation. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Jamey Sharp <jamey@minilop.net>
* Fix wrong Xfree in XListFonts failure pathJulien Cristau2017-03-261-2/+4
| | | | | | | | | | | | 'ch' gets moved inside the allocated buffer as we're looping through fonts, so keep a reference to the start of the buffer so we can pass that to Xfree in the failure case. Fixes: commit 20a3f99eba5001925b8b313da3accb7900eb1927 "Plug a memory leak" Signed-off-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* libNX_X11: Fully drop loadable i18n module support in libNX_X11.Mike Gabriel2017-03-036-2340/+3
| | | | | | - Support for i18n in libNX_X11 is static only, has ever been. - Thus, the files XlcSL.[co], XlcDL.[co], XDefaultIMIF.[co], XDefaultOMIF.[co] and lcDynamic.[co] become obsolete.
* libNX_X11/lcUTF8.c: Drop not-used X11/lcUniConv/ascii.h.Mike Gabriel2017-03-032-28/+0
|
* doc/libNX_X11/lcUniConv: Move over the rather-documentary files ↵Mike Gabriel2017-03-032-1606/+0
| | | | 8bit_tab_to_h.c and cjk_tab_to_h.c to nx-libs's doc/ folder.
* drop platform support: unifdef sgi.Mike Gabriel2017-02-085-13/+2
| | | | Relates to ArcticaProject/nx-libs#275.
* drop platform support: unifdef QNX.Mike Gabriel2017-02-082-5/+1
| | | | Relates to ArcticaProject/nx-libs#275.
* drop platform support: unifdef __osf__.Mike Gabriel2017-02-082-7/+2
| | | | Fixes ArcticaProject/nx-libs#288.
* drop platform support: unifdef AIXV3, AIXV4 (and AIXrt, AIX386).Mike Gabriel2017-02-084-57/+4
| | | | Fixes ArcticaProject/nx-libs#274.
* drop platform support: unifdef hpux and __hppa__.Mike Gabriel2017-02-085-131/+6
| | | | Fixes ArcticaProject/nx-libs#273.
* drop platform support: unifdef Lynx.Mike Gabriel2017-02-085-14/+2
| | | | Fixes ArcticaProject/nx-libs#272.
* drop platform support: unifdef __UNIXOS2__.Mike Gabriel2017-02-0816-596/+8
| | | | Fixes ArcticaProject/nx-libs#271.
* add .gitignore filesUlrich Sibiller2016-11-171-0/+1
|
* LibX11: drop unused xlibi18nUlrich Sibiller2016-11-1715-304/+0
|
* nx-X11/lib/X11/Imakefile: essentially revert 5a90a63.Mihai Moldovan2016-11-051-6/+21
| | | | | | | | Creating libX11 symlinks breaks our builds in clean environments. Drop this feature for now. It must be rewritten to only create the symlinks after everything has been built.
* xtrans: fix const warnings for SocketConnectConnInfoUlrich Sibiller2016-11-031-1/+1
|
* xtrans: silence compiler warning regarding is_numericUlrich Sibiller2016-11-032-1/+4
| | | | | | is_numeric is only needed if X11_t is defined. Silences "warning: ‘is_numeric’ defined but not used [-Wunused-function]"
* libX11 + Xserver: fix missing define warningUlrich Sibiller2016-11-031-1/+1
| | | | | | warning: "XTRANS_SEND_FDS" is not defined [-Wundef] This define came in via the recent xtrans update.
* xtrans: Fix compile warningUlrich Sibiller2016-11-023-20/+20
| | | | warning: format ‘%p’ expects argument of type ‘void *’
* xtrans: fix compilation warnings because of missing XTRANS_SEND_FDSUlrich Sibiller2016-11-022-2/+2
|
* Whitespace fixesUlrich Sibiller2016-11-023-4/+4
|
* Xtrans: update to Xorg/xtrans upstream (1.3.5+)Ulrich Sibiller2016-11-027-912/+1352
| | | | | | | | | | | | | | | This lifts xtrans to the state of this commit: commit 560d7550e23e9b14056b4a9b2569c2f256015f8a Author: Jeremy Huddleston Sequoia <jeremyhu@apple.com> Date: Sat Sep 10 22:09:51 2016 -0700 Update strlcpy macro check to also check HAVE_STRLCPY xorg-server moved from HAS_STRLCPY to HAVE_STRLCPY in 2011 cf-xserver: d829a7c5cb42c979b58f3547136df5b05d906423 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* Remove __UNIXOS2__ referencesUlrich Sibiller2016-11-023-8/+8
|
* remove CLTS codeAdam Jackson2016-11-025-491/+1
| | | | | | | | | | Remove CLTS code Never been used, as far as I can tell. Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Adam Jackson <ajax@redhat.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* use %p in format stringsUlrich Sibiller2016-11-022-5/+5
|
* replace PRMSG by prmsgUlrich Sibiller2016-11-026-524/+499
|
* align license headers with Xorg/xtrans upstreamUlrich Sibiller2016-11-027-22/+29
|
* move helper functions to file endUlrich Sibiller2016-11-021-142/+148
| | | | this simplyfies updating to Xorg/xtrans upstream
* Fixed #ifdef checks that were using i386 to use __i386__Jeremy Huddleston2016-11-023-11/+11
| | | | | | | | | | | | | | | | | """ It's simply obsolete, sloppy, compiler namespace pollution. The compiler is not allowed to predefine symbols that might conflict with ordinary identifiers. For backwards compatibility gcc currently predefines i386 when compiling for x86 32-bit (but not 64-bit), but that will go away. It is also not defined if you specify -ansi when invoking the compiler, because then it is seriously standards compliant. Other compilers shouldn't define it either. Correct code shouldn't rely on it being defined. However __i386__ is safe and proper. """ Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* whitespace cleanupUlrich Sibiller2016-11-026-107/+108
| | | | empty lines and trailing whitespace
* Drastically simplify TRANS_OPEN_MAX.Adam Jackson2016-11-022-54/+3
| | | | | | If your OS doesn't have sysconf(3), then life is already hard for you. Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* undef __QNX__Ulrich Sibiller2016-11-022-5/+5
|
* undef LynxUlrich Sibiller2016-11-024-21/+5
|
* undef AIXV3Ulrich Sibiller2016-11-022-4/+4
|
* undef hpuxUlrich Sibiller2016-11-023-91/+4
|
* undef __UNIXOS2__Ulrich Sibiller2016-11-024-49/+0
|
* Remove OS2PIPECONN transportUlrich Sibiller2016-11-026-901/+8
|
* Remove unused TLI ("STREAMSCONN") codeUlrich Sibiller2016-11-026-1446/+10
|
* remove DECnet supportUlrich Sibiller2016-11-027-764/+16
| | | | just as Xorg upstream did
* remove unused mkks.shUlrich Sibiller2016-11-021-11/+0
| | | | although upstream still includes it.
* remove unused jump_* files from libX11Ulrich Sibiller2016-11-023-1618/+0
|
* remove *-def.cppUlrich Sibiller2016-11-021-2011/+0
| | | | never used
* libX11/Imakefile: handle libX11 linksUlrich Sibiller2016-11-021-0/+27
| | | | | | | | | | Create libX11* link in exports/lib. This simplifies running nxagent from the build directory. This also adds a clean rule to remove the libX11 links as well as the libNX_X11 links which was not done before. Fixes ArcticaProject/nx-libs#234
* libX11/Imakefile: add missing dependencies on ks_tables.hUlrich Sibiller2016-11-021-0/+3
|
* Imakefile cleanup: Delete all ancient Vcs comments stemming from SVN times ↵Mike Gabriel2016-10-319-17/+0
| | | | | | of X.org and XFree86. Fixes ArcticaProject/nx-libs#250.
* Plug a memory leakEmilio Pozuelo Monfort2016-10-271-0/+2
| | | | | | | | This was introduced in 8ea762f. Reported-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Emilio Pozuelo Monfort <pochu@debian.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* LRGB.c: Fix label defined but not usedUlrich Sibiller2016-10-201-3/+0
| | | | | | | LRGB.c: In function ‘LINEAR_RGB_InitSCCData’: LRGB.c:798:1: warning: label ‘FreeBlueTblElements’ defined but not used [-Wunused-label] FreeBlueTblElements: ^
* Fixes: warning: variable 'req' set but not,usedwalter harms2016-10-2017-18/+18
| | | | | | | | | | Fixes: warning: variable 'req' set but not used [-Wunused-but-set-variable] by marking req _X_UNUSED Solution was discussed on xorg-devel ML Peter Hutter, Alan Coopersmith Re: [PATCH libX11 3/5] fix: warning: pointer targets in passing argument 2 of '_XSend' differ in signedness [-Wpointer-sign] Signed-off-by: harms wharms@bfs.de
* fix: warning: pointer targets in passing argument 2 of '_XSend' differ in ↵walter harms2016-10-201-2/+2
| | | | | | | signedness [-Wpointer-sign] fix signess warning by casting Signed-off-by: walter harms <wharms@bfs.de>
* no need to check args for Xfree()walter harms2016-10-201-41/+33
| | | | | | simplify code Signed-off-by: walter harms <wharms@bfs.de>