aboutsummaryrefslogtreecommitdiff
path: root/nx-X11
Commit message (Collapse)AuthorAgeFilesLines
* Args.c: do not print function name in errors or warningsUlrich Sibiller2019-11-151-6/+6
|
* Args.c: scope improvementsUlrich Sibiller2019-11-151-29/+16
|
* Args.c: simplify options string allocationUlrich Sibiller2019-11-151-18/+4
|
* Args.c: fix clipboard=0 or -clipboard 0Ulrich Sibiller2019-11-151-1/+1
| | | | This should disable clipboard but effictively did activate clipboard=both.
* Args.c: remove unreachable codeUlrich Sibiller2019-11-151-24/+0
| | | | | | Right at the beginnigng of nxagentParseSingleOption we check for "clipboard" and prepare argv and argc accordingly for ddxProcessArgument. The removed code thus could never be reached.
* Args.c: fix unitialized variableUlrich Sibiller2019-11-151-0/+1
| | | | | | | "clipboard=something" does not need to be passed on, so return after setting nxagentOptions accordingly. This fixes [nx-X11/programs/Xserver/hw/nxagent/Args.c:1584]: (error) Uninitialized variable: argc
* NXglxext.c: use upstream versions of Dispatch functionsUlrich Sibiller2019-11-022-56/+5
| | | | | | | | | instead of a full copy. We still have our own function because we need to handle the nxagentGlxTrap. This trap is now set before the start of the dispatcher while it has been set only directly before calling the dispatched function. Saves ~50 duplicated lines.
* NXwindow.c: use upstream function DeleteWindow()Ulrich Sibiller2019-11-022-52/+0
| | | | | | | DeleteWindow() is calling FreeWindowResources() which is calling DisposeWindowOptional() which sets pWin->optional to NULL. So the now removed code was never called. After removal DeleteWindow() is identical to the dix version, so we use that one.
* NXwindow.c: call InitRootWindow from dixUlrich Sibiller2019-11-023-49/+18
|
* NXwindow.c: mark NX changesUlrich Sibiller2019-11-021-0/+16
| | | | many functions are almost identical to dix. Mark the minimal changes.
* NXwindow.c: drop own UnmapWindow()Ulrich Sibiller2019-11-022-18/+0
| | | | | The only difference to the dix version was a fprintf if compiled with -D TEST.
* NXwindow.c: call upstream version UnmapWindow()Ulrich Sibiller2019-11-022-58/+5
|
* NXglyph.c: mark NX changesUlrich Sibiller2019-11-021-1/+8
|
* NXglyph.c: adapt FindGlyph() to better match render/glyph.cUlrich Sibiller2019-11-021-19/+24
| | | | no function change
* NXglyphcurs.c: use dixChangeCG()Ulrich Sibiller2019-11-021-18/+13
|
* Simplify (NX)xvdisp.cUlrich Sibiller2019-11-023-148/+15
| | | | | | | | | | NXxvdisp.c only exists to set/unset nxagentXvTrap before/after dispatch. There's no need to duplicate the original code. We now rename the original dispatch functions and call them in our dispatch code. Also drop check for sun and cygwin, as they never appeared in xorg upstream code.
* NXdispatch.c: mark NX changesUlrich Sibiller2019-11-021-17/+47
|
* NXdispatch.c: simplify InitClientPrivates()Ulrich Sibiller2019-11-022-35/+13
| | | | by calling the upstream function from dix/dispatch.c
* NXdispatch.c: call upstream CloseDownClient()Ulrich Sibiller2019-11-022-87/+6
| | | | remove ~80 duplicate lines
* NXdispatch.c: Simplify InitSelections()Ulrich Sibiller2019-11-022-9/+7
| | | | by calling upstream version from dispatch.c
* nxagent: drop NXextension.cUlrich Sibiller2019-11-024-33/+2
| | | | | instead of including it and creating NXextension.o we can simply use the dix version. There are no NX specials anymore.
* NXextension.c: use ProcListExtensions() from dixUlrich Sibiller2019-11-022-116/+0
|
* NXextension.c: use ProcQueryExtension() from dixUlrich Sibiller2019-11-022-41/+1
|
* NXshm.c: call upstream miShmPutImageUlrich Sibiller2019-11-022-38/+6
| | | | instead of having an identical copy in nxagent_miShmPutImage
* NXshm.c: use upstream versions of Dispatch functionsUlrich Sibiller2019-11-022-92/+14
| | | | instead of having an own (identical) copy
* NXshm.c: rework code to be identical for ProcShmDispatch and SProcShmDispatchUlrich Sibiller2019-11-021-60/+60
|
* nxagent: drop Holder.[ch]Ulrich Sibiller2019-11-028-120/+12
| | | | The only left code was nxagentCheckum() which was not compiling anyway.
* Drop unused placeholder codeUlrich Sibiller2019-11-025-225/+0
|
* Drop NXdamage.cUlrich Sibiller2019-11-014-64/+0
| | | | With the previous commits this file finally becomes obsolete.
* damage: Don't rewrite Text ops to GlyphBlt opsUlrich Sibiller2019-11-012-226/+19
| | | | | | | | | | | | | | | | | | | | | | | | | This backport of a 2013 Xorg fix changes miext/damage.c so that the text functions (damageText, damage{Poly,Image}Text{8,16}) finally are very similar to the changes that NX introduced in 2007 with nxagent-3.0.0-28. Fun fact: the original freedesktop bug mentioned below is from 2005 and the fix came in 2013... Next commit will be the complete drop of NXdamage.c. commit 0f3f8e4295d4c05f33b93e0ffd2f6f8cd5759bf7 Author: Adam Jackson <ajax@redhat.com> Date: Wed Aug 21 11:13:11 2013 -0400 damage: Don't rewrite Text ops to GlyphBlt ops There's no particularly good reason to, and it breaks Xnest. Bugzilla: http://bugs.freedesktop.org/2454 Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Adam Jackson <ajax@redhat.com>
* NXdamage.x fix wrong backportUlrich Sibiller2019-11-011-4/+12
| | | | | | | | | f0ba303d48439e0ebb572d56db972995388ac865 errornously added the "else" which had been explicitly removed in NX 3.0.0-28 with this comment: - Changed damage's GCOps functions drawing text. This was needed be- cause the original functions didn't call agent GCOps if the drawable was registered for damage events.
* NXevents.c: add some explanations from the original changelogUlrich Sibiller2019-11-011-0/+32
|
* NXevents.c: use XYToWindow from dixUlrich Sibiller2019-11-012-53/+20
| | | | add a callback to determine the starting window.
* NXevents.c: call upstream ProcAllocEvents()Ulrich Sibiller2019-11-012-53/+24
| | | | | Our version only adds some commented code, so it is not really necessary. But it is cleaner to handle it that way.
* NXEvents.c: mark NX specific codeUlrich Sibiller2019-11-011-1/+4
|
* NXevents.c: call upstream DefineInitialRootWindow()Ulrich Sibiller2019-11-012-36/+5
|
* NXevents.c: call upstream version of ProcSendEvent()Ulrich Sibiller2019-11-012-84/+7
|
* NXevents.c: call upstream versions of (De)ActivatePointerGrab()Ulrich Sibiller2019-11-012-48/+15
|
* Xau files: adapt code to match upstream libXau 1.0.9Ulrich Sibiller2019-11-014-51/+56
|
* AuRead.c: remove redundant null check on calling free()Ulrich Sibiller2019-11-011-9/+9
| | | | | | | | | | | | | | | | Backport of this commit: commit 7ba7085b4f01f3cd72008712a5333ea3f0edfd88 Author: walter harms <wharms@bfs.de> Date: Sat Oct 28 19:14:22 2017 +0200 AuRead.c: remove redundant null check on calling free() this removes simply unneeded code from XauReadAuth Signed-off-by: Walter Harms <wharms@bfs.de> Reviewed-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
* AuRead.c: whitespace cleanupUlrich Sibiller2019-11-011-30/+30
|
* Xau: mark NX changesUlrich Sibiller2019-11-011-0/+15
| | | | | | | | libXau is integrated into libNX_X11, but the differences to libXau original code where not explicitly marked. This path adds some ifdefs and also restores the original code. Attributes to ArcticaProject/nx-libs#850
* Merge branch 'uli42-pr/fix_rebuild' into 3.6.xMihai Moldovan2019-10-191-1/+1
|\ | | | | | | Attributes GH PR #845: https://github.com/ArcticaProject/nx-libs/pull/845
| * nxagent/Imakefile: remove ../../exports/libUlrich Sibiller2019-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nxagent links system libraries that link against libX11. Unfortunately, nxagent (and libXcompshad) require a modified libX11 version, nicknamed libNX_X11, for proper functioning. Fortunately, this one can act as a drop-in replacement for the system libX11. So we’ll hack our way out: add a DT_NEEDED entry for libX11 by linking against the system library when building nxagent and link the other system libraries later and set DT_RUNPATH to a special directory containing symlinks from libNX_X11 to libX11. This tricks the loader into pulling in the "fake" libX11 version without checking its SONAME and thus satisfying the DT_NEEDED entry early on - specifically also for the system libraries. Ex.: readelf -a /usr/bin/nxagent | grep NEEDED 0x0000000000000001 (NEEDED) Shared library: [libX11.so.6] ... 0x0000000000000001 (NEEDED) Shared library: [libNX_X11.so.6] ... If, however, you run the build a second time, it will find the newly created libX11 links in ../../exports/lib (used as an additional library search path) instead of the system libX11. The results in a binary looking like this: 0x0000000000000001 (NEEDED) Shared library: [libNX_X11.so.6] ... With such a setup, the whole magic falls apart and system libraries will suddenly pull in the actual system libX11 file. We initially believed a compiler call such as: ${CC} [--unrelated-options ...] [-Lunrelated_library_path ...] -lX11 [more options like -l and -L] -L../../exports/lib -lother_libraries to do "the right thing" and link against the system libX11 (or, at worst, a libX11 found in the library directory search list preceding the link call) and use ../../exports/lib only for later linking operations, since the order of options matters. However, this turned out to be blatantly wrong: while the order of -L arguments does matter for building the search path, the whole search path including elements from *ALL* -L arguments (and the system paths) will always be used when linking libraries. Hence, (counter-intuitively to us) both these calls will be equivalent: ${CC} [--unrelated-options ...] -la -Loverride_liba -lb [-Lunrelated_library_path ...] -lc ${CC} [--unrelated-options ...] -Loverride_liba [-Lunrelated_library_path ...] -la -lb -lc By removing LDPRELIBS from NXAGENTSYSLIBS, ../../exports/lib is no longer used during building/linking and the binaries are built reproducibly. We never intended to use this directory at link time anyway.
* | Screen.c: cleanup code a bitUlrich Sibiller2019-10-101-16/+14
| |
* | Screen.c: fix a memleakUlrich Sibiller2019-10-101-5/+2
| | | | | | | | | | | | | | Remove some code that is no longer needed because the code requiring it has been removed some time ago (commit 643e13bf3de6704f634d60342b738e0002f057b9). Fixes a small memleak that turned up after switching to fullscreen once.
* | Fix segfault in argument parsingUlrich Sibiller2019-10-031-0/+3
| | | | | | | | | | | | | | | | Using arguments that need a parameter without providing one would lead a segfault due to calling strcmp() will NULL. Triggered by running "nxagent -ac :1 -options nx/nx,fullscreen" or similar, Fixes ArcticaProject/nx-libs#847
* | Clipboard.c: rename nxagentNotifySelection to ↵Ulrich Sibiller2019-09-293-6/+7
| | | | | | | | | | | | nxagentHandleSelectionNotifyFromXServer Use a more descriptive name.
* | Clipboard.c: fix nested clipboard handlingUlrich Sibiller2019-09-291-1/+8
| | | | | | | | Fixes ArcticaProject/nx-libs#632
* | Clipboard.c: add some more FIXMEsUlrich Sibiller2019-09-291-0/+20
| |