| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The only difference to the dix version was a fprintf if compiled with
-D TEST.
|
| |
|
| |
|
|
|
|
| |
no function change
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
by calling the upstream function from dix/dispatch.c
|
|
|
|
| |
remove ~80 duplicate lines
|
|
|
|
| |
by calling upstream version from dispatch.c
|
|
|
|
|
| |
instead of including it and creating NXextension.o we can simply use
the dix version. There are no NX specials anymore.
|
| |
|
| |
|
|
|
|
| |
instead of having an identical copy in nxagent_miShmPutImage
|
|
|
|
| |
instead of having an own (identical) copy
|
| |
|
|
|
|
| |
The only left code was nxagentCheckum() which was not compiling anyway.
|
| |
|
|
|
|
| |
With the previous commits this file finally becomes obsolete.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
add a callback to determine the starting window.
|
|
|
|
|
| |
Our version only adds some commented code, so it is not really
necessary. But it is cleaner to handle it that way.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| | |
Attributes GH PR #845: https://github.com/ArcticaProject/nx-libs/pull/845
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
nxagentHandleSelectionNotifyFromXServer
Use a more descriptive name.
|
| |
| |
| |
| | |
Fixes ArcticaProject/nx-libs#632
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
This avoids delays, timeouts and missing copy/paste actions.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
add new debug output, extend existing, drop meaningless
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|