aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Events.c
Commit message (Collapse)AuthorAgeFilesLines
* nx-X11/programs/Xserver/hw/nxagent/Events.c: Add pWin NULL point check ↵Mike Gabriel2024-11-231-1/+1
| | | | before operating on it.
* prematurely abort ProcSendEvent if a ClientMsg has been fordwardedUlrich Sibiller2024-11-231-2/+4
| | | | Fixes ArcticaProject/nx-libs#1065
* Events.c: disable unused functionUlrich Sibiller2024-06-021-2/+4
| | | | no need to compile if it is unused
* Events.c: make event handling functions return BooleansUlrich Sibiller2024-06-021-51/+52
|
* Events.c: NewOutputPending is a BooleanUlrich Sibiller2024-06-021-1/+1
|
* Events.c: make sendKey a BooleanUlrich Sibiller2024-06-021-3/+3
|
* Events.c: make nxagentInputEvent a BooleanUlrich Sibiller2024-06-021-10/+10
|
* Events.c: improve debugging/testing outputUlrich Sibiller2024-06-011-11/+17
|
* Events.c: fix two commentsUlrich Sibiller2024-06-011-2/+2
|
* fix various spelling errorsUlrich Sibiller2024-05-211-1/+1
|
* Events.c: make nxagentDebugInput a BooleanUlrich Sibiller2024-05-111-10/+10
| | | | because that's what it is...
* Events.c: use existing functions for CriticalOutputPendingUlrich Sibiller2024-05-111-8/+5
|
* Update Copyright yearsUlrich Sibiller2023-04-281-4/+4
| | | | Addresses ArcticaProject/nx-libs#985
* Events.c: fix typo in commentUlrich Sibiller2021-11-181-1/+1
|
* Events.c: add another commentUlrich Sibiller2021-07-051-0/+5
|
* Fix Xfixes event handlingUlrich Sibiller2021-07-051-53/+48
| | | | | | | | | Calling the callback on receptions of an EXTERNAL xfixes event was a weird idea from the start. However, since adding the protection trap around it it made no sense at all because it effectivly made the callback a noop for that case. So let's drop all the trap nonsense and implement it properly. The callback will only be used for actions by internal clients.
* Events.c: fix unused variableUlrich Sibiller2021-06-201-1/+4
|
* Clipboard.c: rework nxagentFind*SelectionIndex() helpersUlrich Sibiller2021-06-201-1/+1
| | | | Let them return -1 which makes it easier to check for successful execution.
* Events.c: use already available variable instead of repeating conversionUlrich Sibiller2021-06-201-1/+1
|
* Events.c: use index instead of iUlrich Sibiller2021-06-201-7/+7
| | | | we do that everywhere when handling clipboard stuff
* Clipboard.c: improve function names once moreUlrich Sibiller2021-06-201-1/+1
|
* Clipboard.c: rework LastClient stuff to work _per selection_Ulrich Sibiller2021-06-201-7/+1
|
* Forward ClientMessages to nxproxy sideUlrich Sibiller2021-06-071-0/+64
| | | | | | | | | | | | 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
* nxagent: drop unused nxagentVisibility variablesUlrich Sibiller2021-01-301-2/+0
|
* nxagent: Drop unused nxagentRootTileWindowUlrich Sibiller2021-01-151-2/+0
|
* nxagent: make nxagentXkbState.Initialized a BooleanUlrich Sibiller2021-01-151-3/+3
|
* nxagent: make nxagentXFixesInfo.Initialized a BooleanUlrich Sibiller2021-01-151-1/+1
|
* nxagent: make nxagentForceSynchronization a BooleanUlrich Sibiller2021-01-151-1/+1
|
* nxagent: handle RegionNil macro as BooleanUlrich Sibiller2021-01-151-1/+1
| | | | just as the rest of the Xserver is alsow doing
* nxagent: rework some Boolean checksUlrich Sibiller2021-01-151-2/+2
| | | | | nxagentWindowTopLevel() and nxagentNeedConnectionChange() return Boolean nxagentPixmapIsVirtual() and nxagentIsShmPixmap(), too.
* nxagent: make nxagentShadowResize a BooleanUlrich Sibiller2021-01-151-1/+1
|
* nxagent: make nxagentVerbose a BooleanUlrich Sibiller2021-01-151-1/+1
|
* nxagent: make Desktop, Rootless and Binder options Booleans (again)Ulrich Sibiller2021-01-151-6/+6
| | | | | They have been changed to tri-state variables (1, 0 and UNDEFINED) between nxagent 1.5.0-90 and -93, for no obvious reason.
* nxagent: make nxagentOption Shadow a BooleanUlrich Sibiller2021-01-151-7/+7
| | | | and add the missing init code.
* nxagent: treat several nxagentOptions as real BooleansUlrich Sibiller2021-01-151-9/+9
| | | | | | | Adaptive, Composite, DeviceControl, DeviceControlUserDefined, IgnoreVisibility, InhibitXkb, Nested, Menu, MagicPixel, Persistent, Reset, ResetzKeyboardAtResume, SharedMemory, SharedPixmaps, Streaming, UseDamage, ViewOnly, Xdmcp, Xinerama
* nxagent: treat DesktopResize and nxagentResizeDesktopAtStartup as BooleansUlrich Sibiller2021-01-151-5/+5
| | | | The already where Booleans but where not using True/False values everywhere
* nxagent: make Fullscreen and AllScreens BooleansUlrich Sibiller2021-01-151-9/+9
| | | | | There's no need/sense in having a tri-state with the third state being UNDEFINED.
* Events.c: fix leftover DEBUG and TEST definitionsUlrich Sibiller2020-12-031-4/+1
| | | | causing DEBUG output in regular builds.
* Events.c: scope improvementUlrich Sibiller2020-11-031-2/+2
|
* Events.c: More cosmeticsUlrich Sibiller2020-10-171-7/+9
|
* Events.c: store parent window from event to meaningful variableUlrich Sibiller2020-10-171-9/+7
|
* Events.c: add some comments/FIXMEsUlrich Sibiller2020-10-171-2/+3
|
* Events.c: add more DEBUG outputUlrich Sibiller2020-10-171-11/+78
|
* nxagent: Prevent resize loopUlrich Sibiller2020-10-171-6/+13
| | | | | | This only happened with certain window managers like mutter. Fixes ArcticaProject/nx-libs#925
* nxagent: fix stack smashingUlrich Sibiller2020-10-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In compext Atom has the size of XlibAtom. Therefore calling functions of Compext.c requires to use/pass XlibAtom. Same for Window/XlibWindow. ==15438==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fffffffcdc0 at pc 0x5555556a81b5 bp 0x7fffffffcd10 sp 0x7fffffffcd08 WRITE of size 8 at 0x7fffffffcdc0 thread T0 #0 0x5555556a81b4 in NXGetCollectedProperty nx-X11/programs/Xserver/hw/nxagent/compext/Compext.c:4124 #1 0x5555557d0488 in nxagentCollectPropertyEvent nx-X11/programs/Xserver/hw/nxagent/Clipboard.c:1202 #2 0x555555723340 in nxagentHandleCollectPropertyEvent nx-X11/programs/Xserver/hw/nxagent/Events.c:3923 #3 0x55555571d4db in nxagentHandleProxyEvent nx-X11/programs/Xserver/hw/nxagent/Events.c:3007 #4 0x55555571bb92 in nxagentHandleClientMessageEvent nx-X11/programs/Xserver/hw/nxagent/Events.c:2595 #5 0x555555717dfc in nxagentDispatchEvents nx-X11/programs/Xserver/hw/nxagent/Events.c:1827 #6 0x555555750813 in nxagentBlockHandler nx-X11/programs/Xserver/hw/nxagent/Handlers.c:437 #7 0x5555556c1b5d in BlockHandler nx-X11/programs/Xserver/dix/dixutils.c:403 #8 0x5555556d47ff in WaitForSomething nx-X11/programs/Xserver/os/WaitFor.c:232 #9 0x555555665b22 in Dispatch nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c:365 #10 0x5555555ed760 in main nx-X11/programs/Xserver/dix/main.c:350 #11 0x7ffff604909a in __libc_start_main ../csu/libc-start.c:308 #12 0x5555555edc09 in _start (nx-X11/programs/Xserver/nxagent+0x99c09) Address 0x7fffffffcdc0 is located in stack of thread T0 at offset 32 in frame #0 0x5555557d0324 in nxagentCollectPropertyEvent nx-X11/programs/Xserver/hw/nxagent/Clipboard.c:1190 This frame has 5 object(s): [32, 36) 'atomReturnType' <== Memory access at offset 32 partially overflows this variable [96, 100) 'resultFormat' [160, 168) 'ulReturnItems' [224, 232) 'ulReturnBytesLeft' [288, 296) 'pszReturnData' HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork (longjmp and C++ exceptions *are* supported) SUMMARY: AddressSanitizer: stack-buffer-overflow nx-X11/programs/Xserver/hw/nxagent/compext/Compext.c:4124 in NXGetCollectedProperty ...
* nxagent: Add keystroke for dumping the current clipboard stateUlrich Sibiller2020-05-311-0/+5
|
* Improve clipboard/xfixes related debug outputUlrich Sibiller2020-05-071-1/+1
|
* Clipboard.c: rename some exported functionsUlrich Sibiller2020-05-071-2/+2
| | | | to make them all fit in the same naming scheme that better describes their purpose.
* nxagent: make all traps BooleansUlrich Sibiller2020-05-071-18/+18
| | | | and use True/False instead of 1/0
* Events.c: simplify nxagentInternalWindowsTreeUlrich Sibiller2020-05-071-6/+2
|