aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* 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
| |
* | Clipboard.c: drop old commented codeUlrich Sibiller2019-09-291-16/+0
| |
* | Clipboard.c: fix: translate target on transferUlrich Sibiller2019-09-291-0/+23
| |
* | Clipboard.c: flush the display during transfer phaseUlrich Sibiller2019-09-291-0/+6
| | | | | | | | This avoids delays, timeouts and missing copy/paste actions.
* | Clipboard.c: remove superflous returnUlrich Sibiller2019-09-291-2/+0
| |
* | Clipboard.c: drop unneeded return codeUlrich Sibiller2019-09-291-8/+10
| |
* | Clipboard.c: add loads of commentsUlrich Sibiller2019-09-291-32/+195
| |
* | Clipboard.c: rework debug printsUlrich Sibiller2019-09-291-57/+167
| | | | | | | | add new debug output, extend existing, drop meaningless
* | Clipboard.c: translate internal to external atomUlrich Sibiller2019-09-293-5/+22
| | | | | | | | | | | | | | | | serverClientCutProperty is the external equivalent of the internal clientCutProperty. We need it on the server side, too, because we use the property on the serverWindow on the real X server. We could (mis)use serverCutProperty here but this might introduce race conditions when both sides request selections simultaneously.
* | Clipboard.c: remove unneccessary returnUlrich Sibiller2019-09-291-2/+0
| |
* | Clipboard.c: whitespace fixesUlrich Sibiller2019-09-291-14/+14
| |