aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver
Commit message (Collapse)AuthorAgeFilesLines
* Xserver/os/xprintf.c: Drop NoMachine's own implementation of Xvasprintf(). ↵Mike Gabriel2017-12-111-50/+1
| | | | | | | | | | | | | | | | | | | | | | Use stock implementation instead. * Reason from NoMachine's NX CHANGELOG for having its own implementation of Xvasprintf() (from around nxagent 3.3.0): - Fixed TR06G02225. The implementation of Xvprintf() has been reviewed to work on more platforms. Previous implementation caused a failure in the build of keyboard map on some platform like Solaris 8 and 9. - Fixed TR03G02198. Reimplemented Xvprintf() in Xserver/os to handle the case in which vsnprintf returned -1. * Reason for removing it again: - Fixes segfaults in SetDefaultFontPath when launching nxagent. - All locations in Xserver/** using the code check for return value of -1. - Solaris 8 and 9 are beyond of our support scope. - Keep more in sync with X.org. - Good moment to drop more GPL-2 code from Xserver's code base.
* nx-X11/programs/Xserver/os/xprintf.c: remove doubly-defined Xscnprintf ↵Mihai Moldovan2017-12-111-22/+2
| | | | | | | function, add missing header includes. Fix up for 1e3a97482840401af9ffcf73db6008ebfe6c1d52, which has been faulty in this regard.
* os/xprintf: add Xvscnprintf and XscnprintfDaniel Kurtz2017-12-102-0/+56
| | | | | | | | | | | | | | | | | | | | | | Backported from X.org: commit 5c2e2a164d615ab06be28a663734e782614b5cc7 Author: Daniel Kurtz <djkurtz@chromium.org> Date: Wed Apr 18 09:51:51 2012 +0000 os/xprintf: add Xvscnprintf and Xscnprintf Normal snprintf() usually returns the number of bytes that would have been written into a buffer had the buffer been long enough. The scnprintf() variants return the actual number of bytes written, excluding the trailing '\0'. Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Backported-to-NX-by: Mihai Moldovan <ionic@ionic.de>
* Typo in xserver Xvasprintf()Colin Harrison2017-12-101-2/+2
| | | | | | | | | | | | | | | | | Backported from X.org: commit 1324b0ca9f8a7fdaf03b374c75eb3c9df407c2f1 Author: Colin Harrison <colin.harrison@virgin.net> Date: Fri Dec 10 00:08:24 2010 +0000 Typo in xserver Xvasprintf() I needed this patch in the wrapper around vsnprintf() in os/xprintf.c (MinGW for Windows build) to correct various crashes. Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Mihai Moldovan <ionic@ionic.de>
* Add asprintf() implementation for platforms without itAlan Coopersmith2017-12-104-48/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backported from X.org: commit c95c1d338fdb62dbe3dba934b97324fa778b7fce Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Sat Nov 27 18:43:12 2010 -0800 Add asprintf() implementation for platforms without it Provides a portable implementation of this common allocating sprintf() API found in many, but not yet all, of the platforms we support. If the platform provides vasprintf() we simply wrap it, otherwise we implement it - either way callers can use it regardless of platform. Since not all platforms guarantee to NULL out the return pointer on failure, we don't either, and require callers to check the return value for -1. The old Xprintf() API is deprecated, but left for compatibility for now. The new API is added in a new header so that it can be used in parts of the server such as hw/xfree86/parser that don't include all the server headers. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net> Includes re-indentation changes from 9838b7032ea9792bec21af424c53c07078636d21. Backported-to-NX-by: Mihai Moldovan <ionic@ionic.de>
* Reintroduce -co as no-opUlrich Sibiller2017-12-072-0/+17
| | | | | | nxagent will abort if it encounters an unknown command line option. As we want 3.6 to be a drop-in replacement for 3.5 we cannot simply drop old options but must accept them as no-op.
* Events.c: add ifdef around nxagentRemoteWindowsTreeUlrich Sibiller2017-12-071-0/+3
| | | | It is called only if DEBUG_TREE is defined.
* Make sure XQueryTree results are freedUlrich Sibiller2017-12-073-22/+24
| | | | Fixes ArcticaProject/nx-libs#585
* Events.c: drop unused variableUlrich Sibiller2017-12-071-3/+0
|
* Events.c: move variable to inner scopeUlrich Sibiller2017-12-071-2/+1
|
* 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>
* Allow options to appear with other components.Daniel Stone2017-12-071-7/+0
| | | | | | | | | | | | Backported from X.Org: commit 1cfa9f647e0241f4b9e56556b128d7bfd987eaca Author: Daniel Stone <daniel@fooishbar.org> Date: Tue Feb 28 16:55:26 2006 +0000 Bug # 5216: Allow options to appear with other components. Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* devPrivates fixesLars Knoll2017-12-072-1/+3
| | | | | | | | | | | | | | Backported from X.Org: commit 0693083335185ce05ee64546151f3fc43ce98575 Author: Lars Knoll <lars@trolltech.com> Date: Mon Mar 6 21:00:09 2006 +0000 render/picture.c Correctly initialize devPrivates variable in source only pictures to 0 miext/cw/cw.h Don't try to access devPrivates of source only pictures Backported-from-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Coverity # 337: Remove useless NULL check.Adam Jackson2017-12-071-1/+1
| | | | | | | | | | | | Backported from X.org: Commit 6bb2dc02a7cffd6ed7dd28e88d584920a4150749 Author: Adam Jackson <ajax@nwnk.net> Date: Wed Mar 15 16:01:47 2006 +0000 Coverity # 337: Remove useless NULL check. Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Coverity # 491: Check version number correctly.Adam Jackson2017-12-071-1/+1
| | | | | | | | | | | | Backported from X.org: commit 72cc6307257fcbb800267464487bf918ee674328 Author: Adam Jackson <ajax@nwnk.net> Date: Wed Mar 15 16:32:05 2006 +0000 Coverity # 491: Check version number correctly. Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
* Coverity # 487: Check version number correctly.Adam Jackson2017-12-071-1/+1
| | | | | | | | | | | | | | Backported from X.org: commit 152090ce442e94de1ae920208a92931af6493c8c Author: Adam Jackson <ajax@nwnk.net> Date: Wed Mar 15 16:33:12 2006 +0000 Coverity # 487: Check version number correctly. Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de> Fixes ArcticaProject/nx-libs#542
* Coverity # 807: Fix a memory leak in XFixesExpandRegion.Adam Jackson2017-12-071-0/+1
| | | | | | | | | | | | | | Backported from X.org: commit 5e106a71b9f8077216d41619402952b0005dd8a4 Author: Adam Jackson <ajax@nwnk.net> Date: Wed Mar 15 16:49:04 2006 +0000 Coverity # 807: Fix a memory leak in XFixesExpandRegion. Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de> Fixes ArcticaProject/nx-libs#541
* randr: free crtc->outputs on destroyGiuseppe Bilotta2017-12-071-0/+1
| | | | | | | | | | | | | | | | | Backported from X.org: commit fc7fb5bbe1c8f787e53500b9a2ca4af815f310d1 Author: Giuseppe Bilotta giuseppe.bilotta@gmail.com Date: Thu Nov 9 10:21:21 2017 +0100 randr: free crtc->outputs on destroy Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de> Fixes ArcticaProject/nx-libs#558
* randr: always realloc crtcs and outputsGiuseppe Bilotta2017-12-072-12/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backported from X.org: commit 16381d186e7c791031392ed8afcfd33009854e9e Author: Giuseppe Bilotta giuseppe.bilotta@gmail.com Date: Thu Nov 9 10:21:20 2017 +0100 randr: always realloc crtcs and outputs When the last crtc (resp. output) is destroyed, the rrScrPriv crtcs (resp. outputs) fields do not get cleared, which can lead to a situation where the private's numCrtcs (resp. numOutputs) field is zero, but the associated memory is still allocated. Just checking if numCrtcs (resp. numOutputs) is zero is thus not a good criteria to determine whetehr to use a realloc or a malloc. Since crtcs (resp. outputs) are NULL-initialized anyway, relying on numCrtcs (resp. numOutputs) is actually unnecessary, because reallocation of a NULL ptr is equivalent to a malloc anyway. Therefore, just use realloc() unconditionally, and ensure that the fields are properly initialized. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de> Fixes ArcticaProject/nx-libs#558
* Keyboard.c: make nxagentKeycodeConversion a BooleanUlrich Sibiller2017-11-231-1/+1
|
* add option keyconv=(auto|on|off)Ulrich Sibiller2017-11-235-0/+67
| | | | | | | | | | | | Adds a new option called "keyconv" to control keycode conversion. Before commit 2f2ade61a8823bad012737b2b388dcc168cccbbf keycode conversion was activated if the client was Linux and client side rules and/or model was "evdev". The only (and undocumented) way to disable that was providing a value different from "linux" for the "client" option (which had no other effect). The mentioned commit removed the dependency on Linux and so there was no way anymore to disable keycode conversion.
* Keyboard.c: Use booleans for nxagentKeycodeConversionUlrich Sibiller2017-11-231-5/+5
|
* Error.c: simply nxagentGetClientsPath()Ulrich Sibiller2017-11-211-31/+8
| | | | | | nxagentGetClientsPath() allocated and returned a string that was never used anywhere because it also fills the global variable with the same value.
* simply free() callsUlrich Sibiller2017-11-2112-154/+50
| | | | free() can handle NULL so there's no need to check this ourselves
* Args.c: simplify nxagentProcessOptionsFile()Ulrich Sibiller2017-11-181-20/+16
|
* Args.c: Fix compile bug with DEBUG enabledUlrich Sibiller2017-11-181-1/+1
|
* Fix options parsing on reconnectUlrich Sibiller2017-11-183-36/+43
| | | | | | Commit 3f7b3001988bf921e6cd860f03a6256b1451ee3d was incomplete: the options parameter was not parsed as a string on reconnect. It was always assumed to be a filename.
* fix broken path due to missing /Ulrich Sibiller2017-11-171-10/+10
|
* NXglxext.c: rename and relocate variableUlrich Sibiller2017-11-171-4/+3
| | | | | This change make the code more similar to upstream Xorg which helps when merging in changes from later Xorg releases.
* glxext.c/NXglxext.c: merge two functions into oneUlrich Sibiller2017-11-172-120/+9
| | | | | | | This has also been done in Xorg 7.1 This also fixes a little flaw for the swapped case: a check for glXRenderLarge was missing.
* nxagent manpage: some minor formatting improvements and typo fixesUlrich Sibiller2017-11-171-55/+73
| | | | | delete trailing whitespace, break long lines, always emphasize nxagent and nxproxy, emphassize options identcially everywhere
* release 3.5.99.103.5.99.10Mike Gabriel2017-09-151-1/+1
|
* nx-X11/programs/Xserver/hw/nxagent/Render.c: use macros obtaining values ↵Mihai Moldovan2017-09-131-10/+10
| | | | | | | | | | | | | | | | from _XPrivDisplay instead of the other Display structure directly. Fixes: ArcticaProject/nx-libs#512 It's unclear to me why (Display*)(dpy)->bitmap_pad and (_XPrivDisplay)(dpy)->bitmap_pad produce different results. Technically, Display is referencing the _XDisplay/Display structure defined in Xlibint.h, while _XPrivDisplay is a typedef'd pointer to the (anonymous) structure defined in Xlib.h, since we're not defining the XLIB_ILLEGAL_ACCESS macro. The weird part is that both should be equal when it comes to its bitmap_pad, byte_order and bitmap_bit_order members.
* release 3.5.99.93.5.99.9Mike Gabriel2017-08-301-1/+1
|
* hw/nxagent/Window.c: Fix spelling error in debug message.Mike Gabriel2017-08-301-1/+1
|
* nx-X11/programs/Xserver/Render.c: Re-introduce nxagentGlyphsCleanup() from ↵Mike Gabriel2017-08-252-0/+250
| | | | libNX_Xrender's formerly removed XRenderGlyphsCleanup().
* nx-X11/programs/Xserver/Imakefile: White-space fix.Mike Gabriel2017-08-251-3/+3
|
* Convert nx-X11/lib/ build flow from imake to autotools.Mike Gabriel2017-08-253-1/+8
|
* Set NX_AGENT_VERSION property for root windowUlrich Sibiller2017-08-103-0/+29
| | | | Fixes ArcticaProject/nx-libs#500
* Render.c: Improve situation for multiple trapezoid requests.Oleksandr Shneyder2017-07-311-14/+1
| | | | | | | | | | | | | | | | | | | This change improves the situation in nxagent for the following issue: ``` "XRenderCompositeTrapezoids builds RenderTrapezoids requests to composite the specified list of trapezoids to dst. XRenderCompositeTrapezoids will split the list of trapezoids to build requests no larger than the maximum request size supported by the server. This can create rendering artifacts as the precompositing done by RenderTrapezoids when a maskFormat is specified cannot span multiple requests." ``` For more information see: https://lists.freedesktop.org/archives/xorg/2008-June/036124.html Fixes ArcticaProject/nx-libs#336.
* nxcomp: Switch to autoreconf.Mike Gabriel2017-07-261-10/+10
|
* treat options parameter as option string if it starts with nx/nxUlrich Sibiller2017-07-251-1/+16
| | | | | | | | | | This way one can easily pass options to nxagent run as Xnest replacement without having to create a temporary options file. Please note that it is not of much use for normal sessions. Options passed like this cannot be changed after startup so a reconnect may not work as expected. Fixes ArcticaProject/nx-libs#476
* rename nxagentOptionFile to nxagentOptionsFilenameUlrich Sibiller2017-07-242-15/+15
|
* pass filename as parameter to nxagentProcessOptionsFile()Ulrich Sibiller2017-07-233-16/+18
| | | | Do not use global variables where it is not necessary.
* Improve keystroke file handlingUlrich Sibiller2017-07-161-52/+35
| | | | Fixes ArcticaProject/nx-libs#486
* nxcompshad: Switch to autoreconf.Mike Gabriel2017-07-131-6/+6
|
* Report Xlib-side window IDs to session.log in machine readable form. This ↵Mike Gabriel2017-07-055-8/+55
| | | | feature can be enabled by the cmdline options -reportwids and -reportprivatewids.
* nxagent man page: Fix layout near -nxrealwindowprop option.Mike Gabriel2017-07-041-0/+1
|
* release 3.5.99.83.5.99.8Mike Gabriel2017-06-301-1/+1
|
* hw/nxagent/Window.c: Introduce NX_REAL_WINDOW window property.Mike Gabriel2017-06-304-0/+45
| | | | | | | | | | | | | | | | In nxagent sessions, all X11 clients have a representation of their NX session-side window object on the real X-Server side. The window object gets stored in the new NX_REAL_WINDOW window property immediately after window creation. This mapping is created in nxagentCreateWindow(). On session resumption, the client side window IDs normally change. Thus, during session resumption, all NX_REAL_WINDOW properties require being updated. This happens in nxagentReconnectWindow(). While a session is suspended, the NX_REAL_WINDOW property does not exist. It gets removed during nxagentDisconnectWindow().