aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/dix
Commit message (Collapse)AuthorAgeFilesLines
* Support building with legacy (pre-1.4.2) libXfont(1) versions.Mihai Moldovan2017-12-161-0/+6
| | | | | | | | Partly reverts ec30a857eb0d67b232f8d43e63a6370023f4c4d0, but in a forward-compatible manner. Legacy libXfont1 versions are automatically detected by the main Makefile.
* DIX: XKB: Set xkbInfo to NULL as well as freeing itDaniel Stone2017-12-071-0/+1
| | | | | | | | | | | | | | | | | Backported from X.org: commit 512bac25ec0e980968b93a2ebe88bd89bf99b697 Author: Daniel Stone <daniel@fooishbar.org> Date: Tue Nov 6 14:52:03 2007 +0000 DIX: XKB: Set xkbInfo to NULL as well as freeing it (bug # 10639) XkbRemoveResourceClient wants to access xkbInfo if it exists, so make sure we NULL it after freeing it. It doesn't make much sense to move the RemoveResourceClient call first, as there's not much point in notifying clients while we're shutting the server down anyway. Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Clearing comments from $XFree86$ (et al.) header lines.Mike Gabriel2017-04-191-1/+0
|
* Regression fix for added libXfont2 API support:Mike Gabriel2017-04-101-3/+1
| | | | | | | | | | - Move FONT_DEFINES and XLIBFONT definition to from Server.tmpl to Imake.tmpl. - Add FONT_DEFINES to ALLDEFINES. - Drop SpecialCObjectRules with FONT_DEFINES from various Imakefiles again, FONT_DEFINES is now set "globally". - Hand over FONT_DEFINES from main Makefile to nx-X11's make BuildEnv to make gccmakedep happy.
* Add CreatePixmap allocation hints.Aaron Plattner2017-04-105-6/+7
| | | | | | | | | | | | | | | | Backported from X.org: commit f2e310132fbe1520c1b5f3da4faa2d2d47835e72 Author: Aaron Plattner <aplattner@nvidia.com> Date: Wed Oct 31 14:15:35 2007 -0700 Add CreatePixmap allocation hints. These hints allow an acceleration architecture to optimize allocation of certain types of pixmaps, such as pixmaps that will serve as backing pixmaps for redirected windows. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Xserver: Support building against libXfont2 (v2) API and old libXfont(1) API ↵Mike Gabriel2017-04-104-3/+389
| | | | | | | | | | | | | | | | | | | | | | | | alike. Fixes ArcticaProject/nx-libs#296. Inspired by the following X.org commit. Other than X.org, we will continue support for building nx-libs against libXfont1 for a while. commit 05a793f5b3c40747d5a92a076def7f4fb673c7e7 Author: Keith Packard <keithp@keithp.com> Date: Tue Sep 1 18:50:55 2015 -0700 dix: Switch to the libXfont2 API (v2) This new libXfont API eliminates exposing internal X server symbols to the font library, replacing those with a struct full of the entire API needed to use that library. v2: Use libXfont2 instead of libXfont_2 Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
* SetFontPath: set client->errorValue on failure.Jamey Sharp2017-04-103-10/+6
| | | | | | | | | | | | | | | | | | | | | | | Backported from X.org: commit 21ceae9002c6364deb3d074cf2da7d3864cf6879 Author: Jamey Sharp <jamey@minilop.net> Date: Tue May 11 10:24:00 2010 -0700 SetFontPath: set client->errorValue on failure. Previously the callers were only setting errorValue on Success, when it's ignored, and leaving it alone on failure, when it's sent to the client. Since SetFontPath takes the ClientPtr, let it set client->errorValue instead of letting the callers continue to get it wrong. Signed-off-by: Jamey Sharp <jamey@minilop.net> Reviewed-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Keith Packard <keithp@keithp.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* dix: pass a valid ClientPtr to SetFontPath in all cases.Eamon Walsh2017-04-101-1/+1
| | | | | | | | | | | | Backported from X.org: commit 7e9e01a4a34fa45521067d43c5bbff942dd5d51a Author: Eamon Walsh <ewalsh@tycho.nsa.gov> Date: Wed Oct 10 17:40:22 2007 -0400 dix: pass a valid ClientPtr to SetFontPath in all cases. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* dix: Move InitFonts up above screen initializationMike Gabriel2017-04-102-2/+3
| | | | | | | | | | | | | | | | | | | | | Backport from X.org: commit 91ea0965dd4dfeba0a914c47ad4a64768e983b1b Author: Keith Packard <keithp@keithp.com> Date: Wed Nov 11 22:02:04 2015 -0800 dix: Move InitFonts up above screen initialization Font initialization was split into two stages, the first was to set up font privates with a call to ResetFontPrivateIndex, then much later the call to InitFonts to set up all of the FPEs. Doing the full font initialization before initializing the video drivers means that we can move the call to ResetFontPrivateIndex inside InitFonts. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Revert "regression fix for 52872a0: Keep index parameter in AddScreen() for ↵Mike Gabriel2017-04-101-3/+2
| | | | | | | | | | now. Requires proper ABI backport. (was: copy+paste error)." This reverts commit 342758254b1b8507c9ec774f40d8ec62baf394a8. Other than stated in the original commit msg, both regressions are related to inproper rebasing of two pull requests touch the same code portion.
* xserver: remove index from CloseScreen (API/ABI breakage)Dave Airlie2017-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extracted from X.org bulk commit: commit 1f0e8bd5eb1a5539689cfc4f5a6b86b530907ec5 Author: Dave Airlie <airlied@redhat.com> Date: Tue Jun 5 13:22:18 2012 +0100 api: rework the X server driver API to avoid global arrays. This is a squash merge containing all the API changes, as well as the video ABI bump. Its been squashed to make bisection easier. Full patch log below: [...] commit 06729dbbc804a20242e6499f446acb5d94023c3c Author: Dave Airlie <airlied@gmail.com> Date: Tue Apr 10 14:04:59 2012 +0100 xserver: remove index from CloseScreen (API/ABI breakage) This drops the index from the CloseScreen callback, its always been useless really, since the pScreen contains it. Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Acked-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* regression fix for 52872a0: Keep index parameter in AddScreen() for now. ↵Mike Gabriel2017-03-271-2/+3
| | | | Requires proper ABI backport. (was: copy+paste error).
* dix: Remove insane BC hacksMike Gabriel2017-03-241-12/+1
| | | | | | | | | | | | | commit 6b5206e7cb8e5279816b48f014d47d3f03f16972 Author: Daniel Stone <daniel@fooishbar.org> Date: Fri Jul 18 15:38:10 2008 +0300 dix: Remove insane BC hacks If your DDX needs a 1bpp mode and doesn't set it up, your DDX is incompetent. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Move AddScreen() comment where it actually belongs. Should be done in X.org, ↵Mike Gabriel2017-03-241-0/+7
| | | | too.
* dix: Move AddScreen() over into dispatch.c and introduce init_screen()Mike Gabriel2017-03-242-215/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partially pruned out of X.org commits: commit 987579c930bda803427a28cb82773c389f5110d6 Author: Peter Hutterer <peter.hutterer@who-t.net> Date: Wed Apr 22 13:26:40 2009 +1000 dix: remove all but main() from main.c All other functions are pushed into where they seemed to fit. main.c is now linked separately into libmain.a and linked in by the various DDXs. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> commit 3478af3374abffa0c226ee077fda1fcfc0751e74 Author: Dave Airlie <airlied@redhat.com> Date: Tue Jun 5 17:01:21 2012 +0100 screen: split out screen init code. (v2) This is a precursor for reusing this code to init gpu screens. v2: fixup int check as per Keith's review. Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Handle -displayfd and an explicit display number sensiblyJon TURNEY2017-03-211-1/+2
| | | | | | | | | | | | | | | | | | | commit bc348bd2c42f3f18786085ccef2f010eff5bf3d2 Author: Jon TURNEY <jon.turney@dronecode.org.uk> Date: Mon Mar 11 14:34:32 2013 +0000 Handle -displayfd and an explicit display number sensibly Handle -displayfd and an explicit display number sensibly, e.g. use the explicitly specified display number, and write it to the displayfd v2: displayfd might be 0, so use -1 as invalid value v3: Rebase for addition of NoListenAll flag Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* os: Add -displayfd optionChase Douglas2017-03-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | commit 88bacc49f06da5927f716869f5a32672a8297ed0 Author: Chase Douglas <chase.douglas@canonical.com> Date: Wed Apr 4 15:29:42 2012 -0700 os: Add -displayfd option This option specifies a file descriptor in the launching process. X will scan for an available display number and write that number back to the launching process, at the same time as SIGUSR1 generation. This means display managers don't need to guess at available display numbers. As a consequence, if X fails to start when using -displayfd, it's not because the display was in use, so there's no point in retrying the X launch on a higher display number. Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Julien Cristau <jcristau@debian.org> Tested-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Move SIGUSR1 notification as late as possible.Adam Jackson2017-03-211-0/+2
| | | | | | | | | | | | | | | | | | commit f01e149d1af14ef9ee0e8a6743ab6a08f3bb677c Author: Adam Jackson <ajax@redhat.com> Date: Thu Nov 1 15:41:11 2007 -0400 Move SIGUSR1 notification as late as possible. If we inherited a signal mask from the parent process that ignores SIGUSR1, then we will send SIGUSR1 to the parent to indicate when we're ready to accept connections. Unfortunately, we send this notification way too early, right after creating the sockets rather than just before entering the main loop. Move it to just before Dispatch() so we're not lying quite so much. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* dix: Extend initial connection handshake for forwarding proxiesAdam Jackson2017-03-211-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | commit 78fa121f4097d29458e5453c13473595df06e26e Author: Adam Jackson <ajax@redhat.com> Date: Fri Jun 17 13:43:38 2011 -0400 dix: Extend initial connection handshake for forwarding proxies Forwarding proxies like sshd will appear to be local, even though they aren't really. This leads to weird behaviour for extensions that truly require running under the same OS services as the client, like MIT-SHM and DRI2. Add two new legal values for the initial connection's byteOrder field, 'r' and 'R'. These act like 'l' and 'B' respectively, but have the side effect of forcing the client to be treated as non-local. Forwarding proxies should attempt to munge the first packet of the connection accordingly; older servers will reject connections thusly munged, so the proxy should fall back to passthrough if the munged connection attempt fails. Reviewed-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Adam Jackson <ajax@redhat.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* os: Add facilities for client ID tracking.Rami Ylimäki2017-03-212-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 6d6d4cb6043905d850834946e9bfc526ed5a9ef7 Author: Matthieu Herrb <matthieu.herrb@laas.fr> Date: Mon Jan 2 13:23:59 2012 +0000 Add OpenBSD support to DetermineClientCmd() Uses kvm_getargv() from libkvm. Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com> commit cfc4c3d7fa8bd4da4c08b2ab8e6f85435f75353a Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Sat Dec 24 10:00:56 2011 -0800 Add Solaris support to DetermineClientCmd Uses /proc/pid/psinfo to read command & partial arguments. Moves cmdsize & argsize variables into non-Solaris #else clause to avoid unused variable warnings. Fixes format mismatch errors when building with DEBUG defined on a 64-bit platform (where Mask is defined as CARD32). Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Signed-off-by: Keith Packard <keithp@keithp.com> commit 780133f9ae7fada462714b47e79d26075bbd9abe Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Fri Oct 28 21:29:50 2011 -0700 Convert DetermineClientCmd to use strdup instead of malloc+strncpy *cmdname is initialized to NULL earlier in the function, so it's okay to overwrite it with NULL if strdup fails, don't need that extra check. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> commit 2ef4ff45ef1fcfc4967ebe3d550408769e5f6500 Author: Erkki Seppälä <erkki.seppala@vincit.fi> Date: Fri Mar 25 10:38:23 2011 +0200 os/client: Prevent rare fd leak in DetermineClientPid DetermineClientPid didn't close file descriptor if read on /proc/pid/cmdline failed. Adjusted the code to disregard the close return value and perform the return after that, if the read failed or returned EOF. Signed-off-by: Mark Kettenis <mark.kettenis@xs4all.nl> Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi> Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Signed-off-by: Keith Packard <keithp@keithp.com> commit 1e933665bef26c74196bb7c59910e6a78bcacf0e Author: Rami Ylimäki <rami.ylimaki@vincit.fi> Date: Wed Dec 22 16:51:09 2010 +0200 os: Add facilities for client ID tracking. An interface is provided for figuring out the PID and process name of a client. Make some existing functionality from SELinux and IA extensions available for general use. Signed-off-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* dix/os: backport various signal handling and smart scheduler changes from X.orgMike Gabriel2017-03-211-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backported from X.org: commit 6178b1c91cfc9e860914acc6f0be2f2d2e07a124 Author: Adam Jackson <ajax@redhat.com> Date: Tue Jun 7 15:52:11 2016 -0400 dix: Use OsSignal() not signal() As the man page for the latter states: The effects of signal() in a multithreaded process are unspecified. We already have an interface to call sigaction() instead, use it. Signed-off-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Keith Packard <keithp@keithp.com> commit e10ba9e4b52269b2ac75c4802dce4ca47d169657 Author: Keith Packard <keithp@keithp.com> Date: Wed Nov 11 22:02:01 2015 -0800 Remove non-smart scheduler. Don't require setitimer. This allows the server to call GetTimeInMillis() after each request is processed to avoid needing setitimer. -dumbSched now turns off the setitimer. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com> commit 1f915e8b524dd02011158aa038935970684c7630 Author: Daniel Drake <drake@endlessm.com> Date: Wed May 20 13:16:12 2015 -0600 Keep SIGALRM restart flag after Popen Commit 94ab7455 added SA_RESTART to the SIGALRM handler. However, the Popen code tears down and recreates the SIGALRM handler via OsSignal(), and this flag is dropped at this time. Clean the code to use just a single codepath for creating this signal handler, always applying SA_RESTART. [ajax: Fixed commit id] Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Daniel Drake <drake@endlessm.com> commit 94ab7455abc213fc96760e29ab2e943ec682fb22 Author: Daniel Drake <drake@endlessm.com> Date: Tue May 12 16:39:22 2015 -0600 Allow system call restarts upon signal interruption The X server frequently deals with SIGIO and SIGALRM interruptions. If process execution is inside certain blocking system calls when these signals arrive, e.g. with the kernel blocked on a contended semaphore, the system calls will be interrupted. Some system calls are automatically restartable (the kernel re-executes them with the same parameters once the signal handler returns) but only if the signal handler allows it. Set SA_RESTART on the signal handlers to enable this convenient behaviour. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Daniel Drake <drake@endlessm.com> commit a6c71ce5d2d2fe89e07a2ef5041c915acc3dc686 Author: Tiago Vignatti <tiago.vignatti@nokia.com> Date: Mon Mar 28 19:21:28 2011 +0300 os: fix memory and fd leaks in Popen Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Nicolas Peninguy <nico@lostgeeks.org> commit c9051b684b524549eab6d5b88ee3e195a6f6fbe8 Author: Alan Coopersmith <alan.coopersmith@sun.com> Date: Wed Nov 5 18:25:57 2008 -0800 Use OsSignal in Popen/Pclose to avoid SysV signal() stupidity commit 0e9ef65fa583bf2393dd0fda82df6f092387b425 Author: Keith Packard <keithp@koto.keithp.com> Date: Wed Nov 7 16:33:10 2007 -0800 Don't frob timers unless SmartSchedule is running commit 2338d5c9914e2a43c3a4f7ee0f4355ad0a1ad9e7 Author: Arjan van de Ven <arjan@linux.intel.com> Date: Sun Oct 28 09:37:52 2007 +0100 reduce wakeups from smart scheduler The smart scheduler itimer currently always fires after each request (which in turn causes the CPU to wake out of idle, burning precious power). Rather than doing this, just stop the timer before going into the select() portion of the WaitFor loop. It's a cheap system call, and it will only get called if there's no more commands batched up from the active fd. This change also allows some of the functions to be simplified; setitimer() will only fail if it's passed invalid data, and we don't do that... so make it void and remove all the conditional code that deals with failure. The change also allows us to remove a few variables that were used for housekeeping between the signal handler and the main loop. Signed-off-by: Keith Packard <keithp@koto.keithp.com> **Note**: The above change also required ABI changes in hw/nxagent/. commit abe0a51f3f790f8c055289465e130177c4b647cc Author: Ben Byer <bbyer@bbyer.apple.com> Date: Fri Sep 21 17:07:36 2007 -0700 So, like, checking return codes of system calls (signal, etc) is good. Also, only restore an old signal handler if one was actually set (prevents the server from dying on OS X). commit 6da39c67905500ab2db00a45cda4a9f756cdde96 Author: Eric Anholt <eric@anholt.net> Date: Wed Sep 12 13:23:13 2007 +0000 Fix build on FreeBSD after Popen changes. commit a5b8053606d6e786cdcf6734f271acc05f9cc588 Author: Adam Jackson <ajax@benzedrine.nwnk.net> Date: Tue Sep 11 11:37:06 2007 -0400 Ignore - not just block - SIGALRM around Popen()/Pclose(). Because our "popen" implementation uses stdio, and because nobody's stdio library is capable of surviving signals, we need to make absolutely sure that we hide the SIGALRM from the smart scheduler. Otherwise, when you open a menu in openoffice, and it recompiles XKB to deal with the accelerators, and you popen xkbcomp because we suck, then the scheduler will tell you you're taking forever doing something stupid, and the wait() code will get confused, and input will hang and your CPU usage slams to 100%. Down, not across. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* dix/os: Merge priority computation into SmartScheduleClientKeith Packard2017-03-211-11/+14
| | | | | | | | | | | | | | | | | | | Backported from X.org: commit 7762a602c1dfdd8cfcf2b8c2281cf4d683d05216 Author: Keith Packard <keithp@keithp.com> Date: Thu May 19 15:05:55 2016 -0700 dix/os: Merge priority computation into SmartScheduleClient Instead of having scheduling done in two places (one in WaitForSomething, and the other in SmartScheduleClient), just stick all of the scheduling in SmartScheduleClient. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* dix: Fix compiler warningUlrich Sibiller2017-03-101-1/+2
| | | | | | devices.c: In function ‘_AddInputDevice’: devices.c:120:22: warning: assignment from incompatible pointer type [enabled by default] dev->devPrivates = dev->unwrapProc = NULL;
* replace (DE)ALLOCATE_LOCAL by malloc/freeUlrich Sibiller2017-03-039-76/+76
| | | | | | | | | | | | | | | | | | | | | | This is basically a backport of the following commits + replacing xalloc/xfree by malloc/free. Fixes ArcticaProject/nx-libs#358. commit 2761c103311a1160bc483fd0367d654733df8598 Author: Daniel Stone <daniel@fooishbar.org> Date: Mon Nov 5 14:03:26 2007 +0000 OS: Remove usage of alloca Replace with heap allocations. commit 5e363500c86042c394595e1a6633581eb8fcd1bb Author: Daniel Stone <daniel@fooishbar.org> Date: Mon Nov 5 14:38:28 2007 +0000 OS: Remove ALLOCATE_LOCAL from os.h Remove ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK from os.h, and remove the include of Xalloca.h as well.
* misc nx-X11/programs/Xserver/{composite,dix,randr}/: switch to using ↵Mihai Moldovan2017-03-031-9/+0
| | | | reallocarray, since it has been ported now.
* Fix "uninitialised byte(s)" complaints from valgrindUlrich Sibiller2017-03-024-20/+29
|
* Xserver/dix/atom.c (et al.): Constify atom name strings.Mike Gabriel2017-03-022-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inspired by X.org commits: commit 08093c25a91c07ab8af7cece9bba738b827cfd1b Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Mon Oct 24 23:16:30 2011 -0700 Convert some malloc + strncpy pairs into strndup calls Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> commit 816b79dd061e9839cec94a4986a7820b70ca8a7f Author: Mikhail Gusarov <dottedmag@dottedmag.net> Date: Thu May 13 03:45:21 2010 +0700 Remove useless casts Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Keith Packard <keithp@keithp.com> This PR ships a tiny change in MakeAtom, that we adopted. We did not adopt the full commit. commit 5623c27700b7b23a8dbbd8c8f45e5d4fa0c667e3 Author: Alan Coopersmith <alan.coopersmith@sun.com> Date: Mon Feb 2 19:25:14 2009 -0800 Constify atom name strings Changes MakeAtom to take a const char * and NameForAtom to return them, since many callers pass pointers to constant strings stored in read-only ELF sections. Updates in-tree callers as necessary to clear const mismatch warnings introduced by this change. Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com> Acked-by: Peter Hutterer <peter.hutterer@who-t.net> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* dix: use one single function to register fpe fontsTiago Vignatti2017-02-271-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | In NXAGENT_SERVER we can also fully rely on libXfont for handling fpe internals. Backported from X.org: commit 75536ee80595c79bba95a1fb6844126ee08486d4 Author: Tiago Vignatti <tiago.vignatti@nokia.com> Date: Wed Jun 23 15:18:03 2010 +0300 dix: use one single function to register fpe fonts X server doesn't need to understand fpe internals, so use register_fpe_functions from libXfont. It's required to get new version of libXfont, therefore adjust it to be passed to autoconf. Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Keith Packard <keithp@keithp.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* For consistency, apply patch from previous commit (630a7c3) to the original ↵Mike Gabriel2017-02-271-3/+31
| | | | Xserver/dix/dixfonts.c file, although the code is undef'ed when NXAGENT_SERVER is defined.
* {dix/,hw/nxagent/NX}dixfont.{c,h}: Support using builtin-fonts. Makes ↵Mike Gabriel2017-02-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dependency on X11's misc fonts package obsolete. This backports a mixture of these X.org commits (only focusing on SetDefaultFontPath() function): commit 03e8bfa1d122f7dea905d48c93cfd54afd991dfd Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Sat Nov 27 20:09:04 2010 -0800 Convert existing Xprintf style calls to asprintf style Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> commit 12e46e83733b47d2704e1509960192365102af46 Author: Tiago Vignatti <tiago.vignatti@nokia.com> Date: Fri Mar 25 22:07:31 2011 +0200 dix: fix memory leak in SetDefaultFontPath Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by: Nicolas Peninguy <nico@lostgeeks.org> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> commit 6592db6bb526f0c43b4c7b55859c629709e039b4 Author: Mikhail Gusarov <dottedmag@dottedmag.net> Date: Fri Jun 4 16:58:58 2010 +0700 Get rid of xstrdup when argument is definitely non-NULL Replace xstrdup with strdup when either constant string is being duplicated or argument is guarded by conditionals and obviously can't be NULL Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> commit f56cbe1ef24415d0142b9a7d0ab0a031069ccb52 Author: Rémi Cardona <remi@gentoo.org> Date: Mon Sep 14 17:09:59 2009 +0200 dix: append "built-ins" to the font path in SetDefaultFontPath 49b93df8a3002db7196aa3fc1fd8dca1c12a55d6 made the hard dependency on a "fixed" font go away but only Xorg could use the built-ins fonts by default. With this commit, all DDXs get "built-ins" appended to their FontPath, not just Xorg. Tested with Xorg, Xvfb and Xnest. Signed-off-by: Rémi Cardona <remi@gentoo.org> Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Tested-by: Jon TURNEY <jon.turney@dronecode.org.uk> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> commit 49b93df8a3002db7196aa3fc1fd8dca1c12a55d6 Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br> Date: Wed Jan 7 19:37:03 2009 -0200 Default to use standard bitmap fonts, with builtins as fallback The builtin-fonts configure option was removed, as it at best should have been a runtime option. Instead, now it always register all "font path element" backends, and adds built-ins fonts at the end of the default font path. This should be a more reasonable solution, to "correct" the most common Xorg FAQ (could not open default font 'fixed'), and also don't break by default applications that use only the standard/historical X Font rendering. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Fixes ArcticaProject/nx-libs#84. Fixes ArcticaProject/nx-libs#285.
* Xserver/dix/main.c: ErrorF requires a string to end with an EOL char.Mike Gabriel2017-02-271-1/+1
|
* Xserver/os/oscolor.c: Follow X.org in dropping the rgb.txt file entirely. ↵Mike Gabriel2017-02-262-8/+1
| | | | | | | | | | | | | | | | | | | Content of that file is now hard-coded. Adopting an exact copy of os/oscolor.c from X.org leads to this compiler warning: ``` oscolor.c:844:1: warning: string length ‘7614’ is greater than the length ‘4095’ ISO C99 compilers are required to support [-Woverlength-strings] }; ^ ``` This will be address later in coordination with X.org. Note: there is a tiny change in oscolor.c as we ship it. The original X.org file includes <X11/keysym.h> which seems unneeded. We drop that one line from oscolor.c. Fixes ArcticaProject/nx-libs#259.
* dix: fix incomplete commitUlrich Sibiller2017-02-242-82/+5
| | | | | | | | | | | | | | | | | | | | | | | The following commit turned out to be incomplete. This commit makes it complete by removing client->lastDrawable/lastGC everywhere thus fixing ArcticaProject/nx-libs#306 and #322 commit e6f2f6427122dc4bc802acebf26f8cec16cd2f62 Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Mon Jun 20 16:45:38 2016 +0200 dix: remove caching of drawables and graphics contexts. The security checks simply bypass the cached values so they are unused. Backported from X.org: commit 9a183d7ba50e31afa133cc03aee7991517a283ea Author: Eamon Walsh <ewalsh@tycho.nsa.gov> Date: Tue Aug 14 11:39:26 2007 -0400 dix: remove caching of drawables and graphics contexts. The security checks simply bypass the cached values so they are unused. Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Naming change: Security*Access -> Dix*AccessMike Gabriel2017-02-2010-109/+109
| | | | | | | | | | | | Backported from X.org: commit 6c46645cfc1afda8aeabfe0ed4d9342673b702f1 Author: Eamon Walsh <ewalsh@tycho.nsa.gov> Date: Thu Dec 14 14:45:42 2006 -0500 Naming change: Security*Access -> Dix*Access Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* The smart scheduler is not optional.Mathieu Bérard2017-02-152-19/+0
| | | | | | | | | | | | Backported from X.org: commit 9f9268821b13038556fbc029df54ab0e9b2aa77f Author: Mathieu Bérard <mathieu.berard@crans.org> Date: Mon Aug 11 13:52:38 2008 -0400 The smart scheduler is not optional. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* dix: remove staggeringly broken vendor workaroundsDaniel Stone2017-02-081-8/+0
| | | | | | | | | | | Backported from X.org: From f93d10ce9bb4a6de83b561f44fb7b046def16234 Mon Sep 17 00:00:00 2001 From: Daniel Stone <daniel@fooishbar.org> Date: Mon, 6 Nov 2006 18:33:45 +0200 Subject: dix: remove staggeringly broken vendor workarounds Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* drop platform support: unifdef sgi.Mike Gabriel2017-02-081-6/+0
| | | | Relates to ArcticaProject/nx-libs#275.
* Imakefile cleanup: Delete all ancient Vcs comments stemming from SVN times ↵Mike Gabriel2016-10-311-3/+0
| | | | | | of X.org and XFree86. Fixes ArcticaProject/nx-libs#250.
* dix: fix cast from pointer to integerJulien Cristau2016-10-201-1/+1
|
* xserver: adapt xkbsrc includes syntax to match upstreamUlrich Sibiller2016-10-063-3/+3
|
* xserver: remove define XKB_IN_SERVERUlrich Sibiller2016-10-062-2/+0
| | | | it is no longer needed because the code here is only used in the server.
* xserver: use own copy of XKBsrv.h headerUlrich Sibiller2016-10-063-3/+3
| | | | just like upstream does
* VCS info lines: Remove ancient X.org / XFree86 VCS info line from code files.Mike Gabriel2016-07-0626-58/+0
| | | | | This has already been started while replacing copyright info in file headers and has now been completed with this commit.
* Xserver/dix/events.c: Drop unused i variable from TryClientEvents.Ulrich Sibiller2016-07-061-1/+0
|
* remove unreferenced NEED_EVENTS/NEED_REPLIESUlrich Sibiller2016-07-0512-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove defines of NEED_EVENTS and NEED_REPLIES because they are never used anywhere. Basically these three commits, but as they are newer and to not match the code structure the patches have not been applied but replaced by sed + manual intervention: From cb95642dc8edebb2935dd471f8b339cb98aa8481 Mon Sep 17 00:00:00 2001 From: Peter Hutterer <peter.hutterer@redhat.com> Date: Fri, 28 Nov 2008 22:28:32 +1000 Subject: Remove #define NEED_EVENTS and NEED_REPLIES A grep on xorg/* revealed there's no consumer of this define. Quote Alan Coopersmith: "The consumer was in past versions of the headers now located in proto/x11proto - for instance, in X11R6.0's xc/include/Xproto.h, all the event definitions were only available if NEED_EVENTS were defined, and all the reply definitions required NEED_REPLIES. Looks like Xproto.h dropped them by X11R6.3, which didn't have the #ifdef's anymore, so these are truly ancient now." Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com> Signed-off-by: Adam Jackson <ajax@redhat.com> -- From 6de368c9aa7ccd2fcd62fca5a2b278913db4d03d Mon Sep 17 00:00:00 2001 From: Fernando Carrijo <fcarrijo@yahoo.com.br> Date: Thu, 1 Jul 2010 06:50:47 -0300 Subject: Purge macros NEED_EVENTS and NEED_REPLIES Signed-off-by: Fernando Carrijo <fcarrijo@yahoo.com.br> Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> -- From 57c03e52e6b4e3ed54df5fdd778865467d08e119 Mon Sep 17 00:00:00 2001 From: Fernando Carrijo <fcarrijo@yahoo.com.br> Date: Thu, 1 Jul 2010 06:59:48 -0300 Subject: Purge macro NEED_EVENTS Signed-off-by: Fernando Carrijo <fcarrijo@yahoo.com.br> Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Remove unneccesary casts from WriteToClient callsAlan Coopersmith2016-07-055-58/+58
| | | | | | | | | | | | | | Casting return to (void) was used to tell lint that you intended to ignore the return value, so it didn't warn you about it. Casting the third argument to (char *) was used as the most generic pointer type in the days before compilers supported C89 (void *) (except for a couple places it's used for byte-sized pointer math). Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Keith Packard <keithp@keithp.com> Tested-by: Daniel Stone <daniel@fooishbar.org> Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* X.org 6.9 documentation files: Move into doc/_attic_/.Mike Gabriel2016-07-052-346/+0
|
* Set event sequence number in WriteEventsToClient instead of at callers.Jamey Sharp2016-07-052-9/+4
| | | | | | | | | | | | | | TryClientEvents already did this; this commit just moves the assignment one level down so that no event source has to worry about sequence numbers. ...No event source, that is, except XKB, which inexplicably calls WriteToClient directly for several events. Signed-off-by: Jamey Sharp <jamey@minilop.net> Reviewed-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Adam Jackson <ajax@redhat.com> Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Make WriteEventsToClient/WriteToClient no-op on fake or dead clients.Jamey Sharp2016-07-051-0/+3
| | | | | | | | | | | | | | | | | | This matches the test in TryClientEvents, and is a superset of tests done by the callers of these functions. The consequence of forgetting these tests is a server crash, so they're always desirable. In my opinion, it's better to not require the callers to remember to do these checks. For callers that don't do very much work before calling WriteToClient or WriteEventsToClient, I've removed the redundant checks. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=27497 Signed-off-by: Jamey Sharp <jamey@minilop.net> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Adam Jackson <ajax@redhat.com> Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Use internal temp variable for swap macros. Make swaps/swapl type safe ↵Mike Gabriel2016-07-043-646/+485
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (introducing wrong_size check at build time). While working on this changeset, various spots got discovered where swapl or swaps was used on a wrong type, where byte swapping calls had been forgotten or done on the wrong variable. This backport at least includes changes from the following X.org commits, listed in non-chronological order: commit 2c7c520cfe0df30f4bc3adba59d9c62582823bf8 Author: Matt Turner <mattst88@gmail.com> Date: Thu Aug 4 15:35:41 2011 -0400 Use internal temp variable for swap macros Also, fix whitespace, mainly around swaps(&rep.sequenceNumber) Reviewed-by: Peter Harris <pharris@opentext.com> Signed-off-by: Matt Turner <mattst88@gmail.com> commit 9edcae78c46286baff42e74bfe26f6ae4d00fe01 Author: Matt Turner <mattst88@gmail.com> Date: Wed Sep 21 17:14:16 2011 -0400 Use correct swap{l,s} (or none at all for CARD8) Swapping the wrong size was never caught because swap{l,s} are macros. It's clear in the case of Xext/xres.c, that the author believed client_major/minor to be CARD16 from looking at the code in the first hunk. v2: dmx.c fixes from Keith. Reviewed-by: Peter Harris <pharris@opentext.com> Signed-off-by: Matt Turner <mattst88@gmail.com> commit dab064fa5e0b1f5c67222562ad5367005832cba1 Author: Andrea Canciani <ranma42@gmail.com> Date: Tue Nov 2 20:10:32 2010 +0100 render: Fix byteswapping of gradient stops The function swapStops repeatedly swaps the color components as CARD16, but incorrectly steps over them as if they were CARD32. This causes half of the stops not to be swapped at all and some unrelated data be swapped instead. Signed-off-by: Andrea Canciani <ranma42@gmail.com> Reviewed-by: Soren Sandmann <sandmann@daimi.au.dk> Reviewed-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Keith Packard <keithp@keithp.com> commit 54770c980cd2b91a8377f975a58ed69def5cfa42 Author: Matt Turner <mattst88@gmail.com> Date: Tue Aug 16 16:59:07 2011 -0400 Cast char* buffers to swap functions Reviewed-by: Peter Harris <pharris@opentext.com> Signed-off-by: Matt Turner <mattst88@gmail.com> commit 6844bd2e63490870bab3c469eec6030354ef2865 Author: Alan Coopersmith <alan.coopersmith@sun.com> Date: Wed Jan 9 19:52:00 2008 -0800 More Xv extension byte swapping fixes commit e46f6ddeccd082b2d507a1e8b57ea30e6b0a2c83 Author: Michel Dänzer <michel@tungstengraphics.com> Date: Wed Jan 16 14:24:22 2008 +0100 Yet another Xv extension byte swapping fix.