aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw
Commit message (Collapse)AuthorAgeFilesLines
* nxagent: add command line switch to enable compositeUlrich Sibiller2021-06-083-4/+13
| | | | We have it disabled by default but there hasn't been a way to enable it.
* Compext.c: fix comparisons of 16bit sequence numbersUlrich Sibiller2021-06-081-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rep->generic.sequenceNumber is of type CARD16 state->sequence is of type unsigned long Converting state->sequence to an int as it has been done since the first version of nxcomp I know of (1.3.0-18 from 2003) is wrong here because for numbers > INT_MAX this will result in a negative number, which, after applying the 16bit modulo, will not match rep->generic.sequenceNumber. Example with numbers: CARD16 c = 24565 unsigned long u = 3179110389 c % 65536 = 24565 u % 65536 = 24565 (int)(u) = -1115856907 (int)(u) % 65536 = -40971 -40971 will not match 24565 To fix this we need to ensure the number stays positive. We use CARD16 for this to match the type in the request which is a 16bit number. On my system CARD16 is unsigned short which is guaranteed to contain _at least_ the 0-65,535 range. As there is no upper limit of the range we cannot drop the modulo because we need this value to be 16bit and not more. Thanks to Norm Green for providing log after log until we could finally identify the reason for him seeing "Xlib: unexpected async reply (sequence 0x94b01439)!" when pasting stopped working.
* Compext.c: fix misleading error messageUlrich Sibiller2021-06-081-5/+6
| | | | | An X reply contains a type which is X_Reply or X_Error. This is not an opcode which is used when installing the handler.
* Compext.c: print received vs expected sequence numberUlrich Sibiller2021-06-081-0/+28
| | | | Should help in debugging "unexpected async reply" problems
* Compext.c: document function return codesUlrich Sibiller2021-06-081-0/+64
|
* document additional options only nxagent knows aboutUlrich Sibiller2021-06-081-0/+9
|
* Error.c: untabifyUlrich Sibiller2021-06-081-75/+75
|
* nxagent: drop NXAGENT_SHAPE2 defineUlrich Sibiller2021-06-082-26/+10
| | | | | it was the default for years now, so let's drop the define and include the code unconditonally.
* nxagent: drop NXAGENT_SHAPE defineUlrich Sibiller2021-06-082-16/+5
| | | | | was never used in the past years, we were always compiling with -DNXAGENT_SHAPE2
* nxagent: make X2GO support optionalUlrich Sibiller2021-06-0810-3/+39
|
* Use NXAGENT_ONSTART define at more locationsUlrich Sibiller2021-06-086-2/+15
| | | | | marking all the code that is not really required when not using nomachine's nxclient.
* Compext.c: add specific DEBUG and TEST macrosUlrich Sibiller2021-06-081-143/+159
|
* Compext.c: some scope improvementsUlrich Sibiller2021-06-081-37/+10
|
* Compext.c: fix comparisons of 16bit sequence numbersUlrich Sibiller2021-06-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rep->generic.sequenceNumber is of type CARD16 state->sequence is of type unsigned long Converting state->sequence to an int as it has been done since the first version of nxcomp I know of (1.3.0-18 from 2003) is wrong here because for numbers > INT_MAX this will result in a negative number, which, after applying the 16bit modulo, will not match rep->generic.sequenceNumber. Example with numbers: CARD16 c = 24565 unsigned long u = 3179110389 c % 65536 = 24565 u % 65536 = 24565 (int)(u) = -1115856907 (int)(u) % 65536 = -40971 -40971 will not match 24565 To fix this we need to ensure the number stays positive. We use CARD16 for this to match the type in the request which is a 16bit number. On my system CARD16 is unsigned short which is guaranteed to contain _at least_ the 0-65,535 range. As there is no upper limit of the range we cannot drop the modulo because we need this value to be 16bit and not more. Thanks to Norm Green for providing log after log until we could finally identify the reason for him seeing "Xlib: unexpected async reply (sequence 0x94b01439)!" when pasting stopped working.
* nxagent: fix RESIZE dialog text to not end with a linefeedUlrich Sibiller2021-06-082-5/+3
| | | | It was the only dialog that had a linefeed a the end.
* Forward ClientMessages to nxproxy sideUlrich Sibiller2021-06-073-0/+72
| | | | | | | | | | | | This should help with clients requesting window manager actions like maximizing or minimizing. This is a first version as it only handles messages of type WM_STATE_CHANGE and _NET_WM_STATE. But ICCCM and EWMH know some more. The other direction, setting of properties by the WM, is already implemented in Rootless.c. Fixes ArcticaProject/nx-libs#1015
* release 3.5.99.263.5.99.26Mike Gabriel2021-02-041-1/+1
|
* Screen.c: rephrase commentUlrich Sibiller2021-02-031-2/+2
|
* Screen.c: Fix fullscreen (onescreen) at startupUlrich Sibiller2021-02-031-2/+31
| | | | Fixes ArcticaProject/nx-libs#991
* Window.c: add another FIXMEUlrich Sibiller2021-02-031-0/+5
|
* NXproperty.c: reorder functionsUlrich Sibiller2021-01-311-29/+31
| | | | | Make it obvious that GetWindowProperty() and ChangeWindowProperty are not derived from dix.
* NXproperty.c, dix.c: simplify ProcDeleteProperty()Ulrich Sibiller2021-01-301-43/+5
| | | | by calling the dix version after a check
* NXproperty.c: GetWindowProperty(): add more comments, restruct prototypeUlrich Sibiller2021-01-301-20/+15
|
* NXproperty.c: simplify and reformat GetWindowProperty()Ulrich Sibiller2021-01-301-10/+8
|
* NXproperty.c: clean returnsUlrich Sibiller2021-01-301-4/+4
| | | | remove unneccessary parentheses
* Window.c: Fix 32bit code pathUlrich Sibiller2021-01-301-10/+10
| | | | | | | | make it compile again Thanks to Simon Matter for reporting this and the patch. Fixes ArcticaProject/nx-libs#993
* nxagent: drop unused nxagentVisibility variablesUlrich Sibiller2021-01-303-6/+0
|
* Args.c: improve usage string for -geometryUlrich Sibiller2021-01-161-1/+1
|
* Screen.c: remove superflous code that produces a crashUlrich Sibiller2021-01-161-6/+0
| | | | Fixes ArcticaProject/nx-libs#987
* Display.c: fix and reformat broken commentUlrich Sibiller2021-01-161-12/+11
|
* Window.c: suppress warningUlrich Sibiller2021-01-161-1/+1
| | | | | | | | This used to be printed only in TEST mode. Some while ago I had changed that to WARNING (because it is a warning...). However, this happens e.g. when running the xscreensaver vfeedback module and it does not look like it is a problem at all. So let's suppress this warning again and leave it to the TEST mode as it used to be.
* fix formatting and spelling in various filesUlrich Sibiller2021-01-168-14/+13
|
* nxagent: Drop unused nxagentRootTileWindowUlrich Sibiller2021-01-162-4/+0
|
* Handlers.c: add FIXMEUlrich Sibiller2021-01-161-0/+3
|
* Screen.c: clarify that characters are comparedUlrich Sibiller2021-01-161-2/+2
|
* Client.h: conditionally add unused fieldUlrich Sibiller2021-01-161-2/+5
|
* Handlers.c: use the same boolean values as in NXdispatch.cUlrich Sibiller2021-01-161-2/+2
| | | | although there is no functional difference...
* manpage: document defaults for options -defer and -tileUlrich Sibiller2021-01-161-1/+11
|
* NXDispatch.c: remove double nxagentFreeAtomMap()Ulrich Sibiller2021-01-161-1/+0
|
* Window.c: check for malloc failureUlrich Sibiller2021-01-151-13/+22
| | | | PVS finding: "V522 There might be dereferencing of a potential null pointer 'props'"
* Window.c: check for malloc failureUlrich Sibiller2021-01-151-0/+8
| | | | PVS finding: "V522 There might be dereferencing of a potential null pointer 'nxagentConfiguredWindowList'."
* Screen.c: check for malloc failuresUlrich Sibiller2021-01-151-0/+39
| | | | PVS finding: "V522 There might be dereferencing of a potential null pointer"
* Splash.c: remove unneccessary checkUlrich Sibiller2021-01-151-9/+4
| | | | PVs finding: "V547 Expression '!nxagentWMPassed' is always true."
* Rootless.c: prevent PVS errorUlrich Sibiller2021-01-151-1/+2
| | | | "V547 Expression 'wmHints.input == 1' is always true."
* Render.c: Init BoxRecUlrich Sibiller2021-01-151-1/+1
| | | | PVS Studio: "V614 Potentially uninitialized variable 'glyphBox.*' used."
* Reconnect.c: fix possible realloc() memory lossUlrich Sibiller2021-01-151-2/+6
| | | | | | "V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer 'nxagentReconnectErrorMessage' is lost. Consider assigning realloc() to a temporary pointer."
* NXglyph.c: check for malloc errorUlrich Sibiller2021-01-151-0/+7
| | | | | "V575 The potential null pointer is passed into 'memcpy' function. Inspect the first argument."
* Keyboard.c: fix possible NULL pointer dereferenceUlrich Sibiller2021-01-151-0/+5
| | | | | found by PVS Studio: "V522 There might be dereferencing of a potential null pointer 'keymap'."
* Drawable.c: Prevent PVS Studio warningUlrich Sibiller2021-01-151-1/+3
| | | | | "V560 A part of conditional expression is always true: oldStatus == NotSynchronized."
* Display.c: prevent PVS Studio realloc warningUlrich Sibiller2021-01-151-5/+11
| | | | | | "V701 realloc() possible leak: when realloc() fails in allocating memory, original pointer 'nxagentDefaultColormaps' is lost. Consider assigning realloc() to a temporary pointer."