aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Xserver: Support building against libXfont2 (v2) API and old libXfont(1) API ↵Mike Gabriel2017-04-1023-20/+621
| | | | | | | | | | | | | | | | | | | | | | | | 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-104-12/+7
| | | | | | | | | | | | | | | | | | | | | | | 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>
* hw/nxagent/BitmapUtils.c: Derive from utilbitmap.c in deprecated libXfont1 ↵Mike Gabriel2017-04-104-10/+130
| | | | and ship as copy-of-code with nxagent.
* 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>
* Xserver/Imakefile: Improve readability by introducing the NULL variable and ↵Mike Gabriel2017-04-101-14/+49
| | | | adding more line-breaks.
* 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.
* Merge branch 'sunweaver-pr/remove-index-from-CloseScreen-ABI-backport' into ↵Mihai Moldovan2017-04-1028-66/+54
|\ | | | | | | | | | | 3.6.x Attributes GH PR #411: https://github.com/ArcticaProject/nx-libs/pull/411
| * xserver: remove index from CloseScreen (API/ABI breakage)Dave Airlie2017-04-1028-66/+54
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'sunweaver-pr/pr/nxproxy-read-from-stdin' into ↵Vadim Troshchinskiy2017-04-072-14/+65
|\ | | | | | | 3.6.x
| * nxproxy: Support communication over stdin. Allow nxcl to use standard ssh ↵Bernard Cafarelli2017-04-071-13/+64
| | | | | | | | | | | | instead of nxssh. Fixes ArcticaProject/nx-libs#98.
| * nxcomp/Loop.cpp: Fix server/client mode info cerr printing in ↵Mike Gabriel2017-04-071-1/+1
|/ | | | PrintProcessInfo().
* Merge branch 'sunweaver-pr/drop-render-fullcolor-workaround' into 3.6.xMike Gabriel2017-04-074-82/+5
|\ | | | | | | | | | | Attributes GH PR #401: https://github.com/ArcticaProject/nx-libs/pull/401 Reviewed by: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> -- Fri, 07 Apr 2017 10:24:05 +0200
| * NXpicturestr_PictSolidFill.h: Drop file and revert db8705. Not an issue ↵Mike Gabriel2017-04-064-82/+5
|/ | | | anymore nowadays.
* record: avoid crash when calling RecordFlushReplyBuffer recursivelyErkki Seppälä2017-04-061-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backported from X.Org: commit 0801afbd7c2c644c672b37f8463f1a0cbadebd2e Author: Erkki Seppälä <erkki.seppala@vincit.fi> Date: Thu Feb 10 15:35:14 2011 +0200 record: avoid crash when calling RecordFlushReplyBuffer recursively RecordFlushReplyBuffer can call itself recursively through WriteClient->CallCallbacks->_CallCallbacks->RecordFlushAllContexts when the recording client's buffer cannot be completely emptied in one WriteClient. When a such a recursion occurs, it will not be broken out of which results in segmentation fault when the stack is exhausted. This patch adds a counter (a flag, really) that guards against this situation, to break out of the recursion. One alternative to this change would be to change _CallCallbacks to check the corresponding counter before the callback loop, but that might affect existing behavior, which may be relied upon. Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi> Signed-off-by: Keith Packard <keithp@keithp.com> Backported-to-NX-by: Mihai Moldovan <ionic@ionic.de> Fixes: ArcticaProject/nx-libs#417.
* Merge branch 'sunweaver-pr/mesa-patching-with-quilt' into 3.6.xMihai Moldovan2017-04-062-0/+37
|\ | | | | | | Attributes GH PR #409: https://github.com/ArcticaProject/nx-libs/pull/409
| * Mesa subtree: Add quilt based patch system for bundled Mesa.Mike Gabriel2017-04-052-0/+37
|/
* roll-tarball.sh: Fix ChangeLog creation, always create ChangeLog for the ↵Mike Gabriel2017-04-051-1/+1
| | | | CHECKOUT, not the currently checked out branch.
* Merge branch 'uli42-pr/cleanup_keystroke' into 3.6.xMike Gabriel2017-04-0310-203/+317
|\ | | | | | | Attributes GH PR #404: https://github.com/ArcticaProject/nx-libs/pull/404
| * Keystrokes: rename left/up/right/down keystrokes to descriptive namesUlrich Sibiller2017-04-035-64/+64
| | | | | | | | | | | | The are now called reflecting their purpose: viewport_scroll_left/up/right/down. This also regroups all the keystrokes referring to viewport stuff.
| * doc: rework keystroke documentationUlrich Sibiller2017-04-031-43/+50
| |
| * doc: document debugging keystrokesUlrich Sibiller2017-04-032-6/+27
| |
| * keystrokes.cfg: remove debug keystrokesUlrich Sibiller2017-04-031-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | Normal builds will not contain support for some keystrokes but warn about unknown keystroke actions: Info: ignoring unknown keystroke action 'debug_tree'. Info: ignoring unknown keystroke action 'regions_on_screen'. Info: ignoring unknown keystroke action 'test_input'. Info: ignoring unknown keystroke action 'deactivate_input_devices_grab'. So we remove those from the default keystrokes config.
| * Keystroke.c: move some vars to inner scopeUlrich Sibiller2017-04-031-5/+2
| |
| * Init keystrokes at startup and reconnectUlrich Sibiller2017-04-034-9/+12
| | | | | | | | no more late initialization
| * Keystroke.c: avoid use of comparisons on "False"Ulrich Sibiller2017-04-031-21/+13
| |
| * Keystroke.c: use Booleans where appropriateUlrich Sibiller2017-04-031-13/+13
| | | | | | | | | | Some of the keystroke checks have used them before. This commit unifies those checks.
| * Keystroke.h: improve parse_keystroke_file()Ulrich Sibiller2017-04-031-35/+44
| | | | | | | | Print out more/better messages.
| * Keystroke.c: introduce nxagentDumpKeystrokes()Ulrich Sibiller2017-04-032-0/+35
| |
| * keystrokes.cfg: add missing keystrokesUlrich Sibiller2017-04-031-0/+12
| |
| * Keystroke.c/h: completely disable keystrokes that are not active at compile timeUlrich Sibiller2017-04-032-10/+27
| |
| * Keystroke.h: auto-enum keystrokesUlrich Sibiller2017-04-031-26/+25
| | | | | | | | there's no need to define the values ourselves
| * Keystroke.h/Keyboard.h: cleanup mask variablesUlrich Sibiller2017-04-032-2/+3
| |
| * Keystroke.c: detect duplicate keystroke definitionsUlrich Sibiller2017-04-031-0/+23
| | | | | | | | | | | | We cannot check if an action is defined twice because the viewport stuff is controlled by multiple keystrokes (arrow keys and keypad) in the default configuration.
| * Keystroke.c: use KEYSTROKE_NOTHINGUlrich Sibiller2017-04-031-3/+3
| | | | | | | | | | instead of KEYSTROKE_END_MARKER. This is cleaner since KEYSTROKE_END_MARKER really marks the end of the list.
| * Args.c: add two missing options to help messageUlrich Sibiller2017-04-031-0/+2
|/
* Merge branch ↵Mike Gabriel2017-04-031-0/+7
|\ | | | | | | | | | | | | | | | | | | 'sunweaver-pr/xinerama-response-swapping-in-RRXineramaWriteMonitor' into 3.6.x Attributes GH PR #413: https://github.com/ArcticaProject/nx-libs/pull/413 Reviewed by: Ulrich Sibiller <uli42@gmx.de> -- Mon, 27 Mar 2017 11:43:56 -0700 ,
| * xinerama: Swap the response in RRXineramaWriteMonitorMichal Srb2017-04-031-0/+7
|/ | | | | | | | | | | | | | Backported from X.org: commit c96c860b6420adf0d004707a323af30491a1d7d3 Author: Michal Srb <msrb@suse.com> Date: Mon Dec 12 17:45:22 2016 +0200 xinerama: Swap the response in RRXineramaWriteMonitor Reviewed-by: Adam Jackson <ajax@redhat.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Merge branch 'mikedep333-pr/cygwin-nxcomp-ftbfs' into 3.6.xMike Gabriel2017-04-032-24/+0
|\ | | | | | | Attributes GH PR #416: https://github.com/ArcticaProject/nx-libs/pull/416
| * Remove EMX (MS-DOS & OS/2) supportMike DePaulo2017-03-292-19/+0
| |
| * Cygwin nxcomp: Use Cygwin un.hMike DePaulo2017-03-292-7/+2
|/ | | | | Cygwin has modified it over the years. Fixes FTBFS #394
* 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).
* Merge branch 'uli42-pr/libX11-HEAD' into 3.6.xMike Gabriel2017-03-272-2/+14
|\ | | | | | | | | | | | | | | Fixes ArcticaProject/nx-libs#400. Attributes GH PR #414: https://github.com/ArcticaProject/nx-libs/pull/414 am into a topic branch.
| * _XDefaultError: set XlibDisplayIOError flag before calling exitArthur Huillet2017-03-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _XReply isn't reentrant, and it can lead to deadlocks when the default error handler is called: _XDefaultError calls exit(1). It is called indirectly by _XReply when a X protocol error comes in that isn't filtered/handled by an extension or the application. This means that if the application (or one of its loaded shared libraries such as the NVIDIA OpenGL driver) has registered any _fini destructor, _fini will get called while still on the call stack of _XReply. If the destructor interacts with the X server and calls _XReply, it will hit a deadlock, looping on the following in _XReply: ConditionWait(dpy, dpy->xcb->reply_notify); It is legal for an application to make Xlib calls during _fini, and that is useful for an OpenGL driver to avoid resource leaks on the X server side, for example in the dlopen/dlclose case. However, the driver can not readily tell whether its _fini is being called because Xlib called exit, or for another reason (dlclose), so it is hard to cleanly work around this issue in the driver. This change makes it so _XReply effectively becomes a no-op when called after _XDefaultError was called, as though an XIOError had happened. The dpy connection isn't broken at that point, but any call to _XReply is going to hang. This is a bit of a kludge, because the more correct solution would be to make _XReply reentrant, maybe by broadcasting the reply_notify condition before calling the default error handler. However, such a change would carry a grater risk of introducing regressions in Xlib. This change will drop some valid requests on the floor, but this should not matter, as it will only do so in the case where the application is dying: X will clean up after it once exit() is done running. There is the case of XSetCloseDownMode(RETAIN_PERMANENT), but an application using that and wishing to clean up resources in _fini would currently be hitting a deadlock, which is hardly a better situation. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Jamey Sharp <jamey@minilop.net>
| * Fix wrong Xfree in XListFonts failure pathJulien Cristau2017-03-261-2/+4
|/ | | | | | | | | | | | 'ch' gets moved inside the allocated buffer as we're looping through fonts, so keep a reference to the start of the buffer so we can pass that to Xfree in the failure case. Fixes: commit 20a3f99eba5001925b8b313da3accb7900eb1927 "Plug a memory leak" Signed-off-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Merge branch 'sunweaver-pr/dix-dispatch-backports' into 3.6.xMihai Moldovan2017-03-262-227/+222
|\ | | | | | | Attributes GH PR #412: https://github.com/ArcticaProject/nx-libs/pull/412
| * 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>
* Merge branch 'sunweaver-pr/various-os-backports' into 3.6.xMihai Moldovan2017-03-2228-554/+1340
|\ | | | | | | Attributes GH PR #376: https://github.com/ArcticaProject/nx-libs/pull/376