| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This is not a functional change, it only helps in clearer debugging
output.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The second parameter was always NULL, so remove it. Also remove some
debugging output which distracts while debugging as the function is
called from ProcChangeProperty for _every_ property, also non-clipboard
related ones.
|
| |
| |
| |
| | |
we reference lastSelectionOwner[nxagentClipboardSelection].selection everywhere.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
nxagentClipboardAtom -> serverCLIPBOARD
nxagentTimestampAtom -> serverTIMESTAMP
This is to match the names of the other server atom variables.
|
| |
| |
| |
| |
| | |
At some places we were using NumCurrentSelections. We replace that by
nxagentMaxSelections because they always have the identical value.
|
| | |
|
| |
| |
| |
| | |
Just as everyone else does. ICCCM is not really clear about this.
|
| | |
|