| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
... to keep dix/dixfonts and hw/nxagnet/NXdixfonts.c in sync.
|
|
|
|
| |
so let's remove some superflous tests
|
|
|
|
| |
so let's remove some superflous tests
|
|
|
|
| |
Just to be sure. It is used at lots of locations afterwards.
|
|
|
|
|
|
| |
and do it identically everywhere. As we are using C99 designated
initializers here we remove the memset and bzero calls that had been
used for this at some locations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... by implementing some kind of recalloc (mix of realloc and calloc).
Fixes this valgrind finding:
==7061== Syscall param writev(vector[...]) points to uninitialised byte(s)
==7061== at 0x781EFE0: __writev_nocancel (syscall-template.S:84)
==7061== by 0x488974: _XSERVTransSocketWritev (Xtranssock.c:2914)
==7061== by 0x47DBD3: FlushClient (io.c:1080)
==7061== by 0x47DBD3: FlushAllOutput.part.0 (io.c:817)
==7061== by 0x477304: WaitForSomething (WaitFor.c:246)
==7061== by 0x434369: Dispatch (NXdispatch.c:360)
==7061== by 0x40EB92: main (main.c:353)
==7061== Address 0x102106f3 is 50,211 bytes inside a block of size 54,308 alloc'd
==7061== at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==7061== by 0x47F08F: FlushClient (io.c:1123)
==7061== by 0x47F307: WriteToClient (io.c:991)
==7061== by 0x42903C: doListFontsAndAliases (NXdixfonts.c:660)
==7061== by 0x42B7D6: ListFonts (NXdixfonts.c:735)
==7061== by 0x433A6D: ProcListFonts (NXdispatch.c:989)
==7061== by 0x4344A5: Dispatch (NXdispatch.c:482)
==7061== by 0x40EB92: main (main.c:353)
==7061== Uninitialised value was created by a heap allocation
==7061== at 0x4C2FD5F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==7061== by 0x47F08F: FlushClient (io.c:1123)
==7061== by 0x47F307: WriteToClient (io.c:991)
==7061== by 0x42903C: doListFontsAndAliases (NXdixfonts.c:660)
==7061== by 0x42B7D6: ListFonts (NXdixfonts.c:735)
==7061== by 0x433A6D: ProcListFonts (NXdispatch.c:989)
==7061== by 0x4344A5: Dispatch (NXdispatch.c:482)
==7061== by 0x40EB92: main (main.c:353)
==7061==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backport of this xorg upstream commit (with omitting the mentioned
d792ac125a0462a04a930af543cbc732f8cdab7d).
commit 34cf559bcf99dad550527b5ff53f247f0e8e73ee
Author: Keith Packard <keithp@keithp.com>
Date: Tue Jul 10 15:58:48 2012 -0700
ProcGetPointerMapping uses rep.nElts before it is initialized
In:
commit d792ac125a0462a04a930af543cbc732f8cdab7d
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Mon Jul 9 19:12:43 2012 -0700
Use C99 designated initializers in dix Replies
the initializer for the .length element of the xGetPointerMappingReply
structure uses the value of rep.nElts, but that won't be set until
after this initializer runs, so we get garbage in the length element
and clients using it will generally wedge.
Easy to verify:
$ xmodmap -pp
Fixed by creating a local nElts variable and using that.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
|
|
|
|
|
|
| |
Some of them have not been seen in the wild yet.
Partly fixes ArcticaProject/nx-libs#711
|
|
|
|
| |
as in xorg-xserver upstream's hw/xnest/Keyboard.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backported from X.org's Xserver:
commit c1d901d723c3bee523736eacc15b44a7dff484fe
Author: Richard Hughes <richard@hughsie.com>
Date: Fri Aug 14 11:44:35 2009 +0100
Don't reset the lastDeviceEventTime when doing DPMS actions
When we change the DPMS mode, don't play games with the last event time as
this breaks applications using IDLETIME to turn the backlight off after a
preset time.
This patch fixes gnome-power-manager and xfce-power-manager
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Backport-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backported from X.org's Xserver:
commit 6b5978dcf1f7ac3ecc2f22df06f7000f360e2066
Author: Richard Hughes <richard@hughsie.com>
Date: Mon Aug 17 09:15:32 2009 +0100
Do not reset lastDeviceEventTime when we do dixSaveScreens
When we turn off DPMS with DPMSModeOff and do dixSaveScreens, don't reset the
event time else session clients using IDLETIME will be reset.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This resolves issues with non-starting mate-screensaver which
relies on the IDLETIME API these days.
This commit backports the following X.org Xserver commits:
commit a2e67a6412386782cb8b644b86a5744591397d45
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date: Mon Dec 6 11:24:01 2010 +1100
IDLETIME: Fix edge-case in IdleTimeBlockHandler
Ensure that if we're called exactly on the threshold of a
NegativeTransition trigger that we reshedule to pick up
an idle time over the threshold.
Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
commit 1f4fb0225b278d1cf4145aebeb0bdd23dc8f62d5
Author: Adam Jackson <ajax@redhat.com>
Date: Wed Dec 10 16:13:20 2008 -0500
xsync: Fix wakeup storm in idletime counter.
Wakeup scheduling only considered the threshold values, and not whether
the trigger was edge or level.
See also:
https://bugzilla.redhat.com/show_bug.cgi?id=474586
http://svn.gnome.org/viewvc/gnome-screensaver/trunk/src/test-idle-ext.c?view=markup
commit 0f9e89b4e309e570d7d366489d250ca2143f0ad7
Author: Fredrik Höglund <fredrik@kde.org>
Date: Tue Aug 14 22:47:49 2007 +0200
Fix the value comparisons in the IDLETIME wakeup handler.
LessThan/GreaterThan comparisons were used in the wakeup handler,
and LessOrEqual/GreaterOrEqual in the block handler.
Change it to use LessOrEqual/GreaterOrEqual in both functions,
since this is what XSyncNegativeComparison and
XSyncPositiveComparison imply.
commit 7e2c935920cafadbd87c351f1a3239932864fb90
Author: Fredrik Höglund <fredrik@kde.org>
Date: Fri May 18 20:06:14 2007 +0200
Add a new IDLETIME system sync counter.
This counter exposes the time in milliseconds since the last
input event. Clients such as screen savers and power managers
can set an alarm on this counter to find out when the idle time
reaches a certain value, without having to poll the server.
Backport-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
|
|
|
| |
want that. Likely.
|
|
|
|
| |
Fixes ArcticaProject/nx-libs#701
|
|
|
|
| |
Fixes ArcticaProject/nx-libs#694
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nxagentHandleConfigureNotify() has an optimization that accumulates
ConfigureNotify events from the queue to only perform the changes of
the last ConfigureNotify event in the queue. But that code used to
ignore position changes and only adapt the new window position if the
last event happened to contain a position change.
This change ensures the latest position change - if any - found in the
queue will be applied after the accumulation.
Fixes: ArticaProject/nx-libs#688 (second part)
|
|
|
|
| |
Was 0,0 on every call...
|
| |
|
|
|
|
|
|
| |
This is the preferred way. It ensures, that
a) the data is zeroed
b) a correct size in case xlib is changing the size of the structure in future releases
|
| |
|
|
|
|
| |
nxagentSetWMNormalHints was slightly adapted therefore
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
nx-X11/ subdir (except nx-X11/lib/).
|
| |
|
| |
|
|
|
|
| |
UseTIRPC.
|
| |
|
|
|
|
| |
since libXcompext doesn't actually need it.
|
|
|
|
| |
instead of echo for variable value.
|
|
|
|
|
|
|
|
|
|
| |
for nxagent regeneration.
Updating timestamps on object files and libraries used to compose
nxagent is only meaningful for actual files within the buildroot.
External dependencies would be ignored anyway, and worse, cause older
GNU Make versions to fail if they contain special characters like a
percent sign, which is typically interpreted as a wild card character.
|
|
|
|
|
|
| |
if the output was disconnected before.
Fixes: ArcticaProject/nx-libs#677
|
|
|
|
| |
avoid referencing random data.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit cad5a1050b7184d828aef9c1dd151c3ab649d37e
Author: Nathan Kidd <nkidd@opentext.com>
Date: Fri Jan 9 09:57:23 2015 -0500
Unvalidated lengths
v2: Add overflow check and remove unnecessary check (Julien Cristau)
This addresses:
CVE-2017-12184 in XINERAMA
CVE-2017-12185 in MIT-SCREEN-SAVER
CVE-2017-12186 in X-Resource
CVE-2017-12187 in RENDER
Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Nathan Kidd <nkidd@opentext.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
|
|
|
| |
implemented in intersect_bb() function.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the agent window is moved around on screen, it can happen
that it is moved into an invisible area of the real Xserver,
we calls this "beyond the bounding box".
.
If the agent window is partially beyond the bounding box, we
don't want Xinerama to re-adjust the RandR parameters inside the
agent. Near the bounding box, the session shall stay intact.
.
This means, desktop env wise, the desktop session control
elements can be moved (with the agent window) into the invisible
areas of the real Xserver and moved out again without RandR
events arriving inside the agent session.
Fixes ArcticaProject/nx-libs#662.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Keeping it enabled leads to nxagent consuming 100% of CPU resources
after some time.
Older code used three different timers for each DPMS mode (standby,
suspend, off), with each timer checking that the elapsed idle time is
strictly less than the DPMS mode timeout value.
Newer code started merging DPMS and ScreenSaver timers into a single
one, with checking DPMS modes and timeouts in a fall-through fashion.
The code expects that, if a timeout is reached, the mode is set
accordingly, so that the old timeout is disregarded next time.
Since we stub out DPMSSetMode() in nxagent, this doesn't happen.
In this case, the old DPMS timeout will be checked the next time around
and we will be calculating DPMS_MODE_TIMEOUT - IDLE_TIME. If IDLE_TIME
is bigger than DPMS_MODE_TIMEOUT, we run into problems with unsigned
integers. What happens next will be *another* overflow once DoTimers()
is executed and from that function SetTimers(), which will add the
current timestamp to the timeout value. Later functions subtract the
current timestamp again (which will be even higher since some time
elapsed) and underflow the value again.
It looks like this leads to consistent firing of the timer - something
we do not want to have.
For new, disable DPMS support in nxagent. We do not execute it on actual
hardware that could change DPMS modes.
At a later time, implementing a DPMS timeout/mode passthrough to the
connected X server/display might be beneficial.
Fixes: ArcticaProject/nx-libs#671
|
|
|
|
|
|
| |
nothing better can be detected.
Fixes ArcticaProject/nx-libs#668.
|
| |
|
|
|
|
| |
is used nowhere anyway
|
|
|
|
|
| |
make them appear in the nx section. Also separate the nx section from the
other options by an extra emtpy line.
|
| |
|
|
|
|
|
|
|
| |
In XORG-7_1 xkbconfig.c had been dropped. We must keep this file
because it is used by hw/nxagent/Keyboard.c to load the xkb
configuration file. Maybe we should move the relevant code to there or
drop xkb configuration file support from nxagent.
|
|
|
|
| |
only effect on session startups.
|
| |
|