aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Events.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Events.c: Whitespace fixUlrich Sibiller2020-05-071-1/+1
|
* nxagent: rename variables that shadow globalsUlrich Sibiller2020-01-251-5/+5
|
* Events.c: fix capslock weirdness (re-add lost code)Ulrich Sibiller2020-01-251-0/+1
| | | | | | This was removed by mistake in 39866f5c133230e5731156c2356c8571c971534c. Fixes ArcticaProject/nx-libs#904
* Events.c: fix two shadowed variablesUlrich Sibiller2020-01-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Events.c: In function ‘nxagentDispatchEvents’: Events.c:1241:21: warning: declaration of ‘pScreen’ shadows a previous local [-Wshadow=compatible-local] ScreenPtr pScreen = nxagentScreen(X.xbutton.window); ^~~~~~~ Events.c:827:13: note: shadowed declaration is here ScreenPtr pScreen = NULL; ^~~~~~~ Events.c:1383:19: warning: declaration of ‘pScreen’ shadows a previous local [-Wshadow=compatible-local] ScreenPtr pScreen = nxagentScreen(X.xmotion.window); ^~~~~~~ Events.c:827:13: note: shadowed declaration is here ScreenPtr pScreen = NULL; ^~~~~~~ Events.c: In function ‘nxagentDispatchEvents’: Events.c:1383:19: warning: declaration of ‘pScreen’ shadows a previous local [-Wshadow=compatible-local] ScreenPtr pScreen = nxagentScreen(X.xmotion.window); ^~~~~~~ Events.c:827:13: note: shadowed declaration is here ScreenPtr pScreen = NULL; ^~~~~~~
* Events.c: pass a Boolean to nxagentSwitchFullscreenUlrich Sibiller2020-01-061-1/+1
|
* Events.c: improve debugging outputUlrich Sibiller2020-01-061-7/+25
| | | | | | | Extend nxagentHandleClientMessageEvent: better debug messages, suppress warning "Invalid window in ClientMessage" for legal case. I came across this while testing some clipboard stuff.
* Events.c: fix format specifiersUlrich Sibiller2020-01-051-5/+5
|
* Event.c: use __func__ in fprintfUlrich Sibiller2020-01-051-170/+144
|
* Events.c: use designated initializersUlrich Sibiller2020-01-051-22/+15
|
* Events.c: Scope improvements/code simplificationUlrich Sibiller2020-01-051-147/+83
|
* Events.c: reformat switch blocksUlrich Sibiller2020-01-051-64/+17
| | | | save some lines
* Events.c: reformat commentsUlrich Sibiller2020-01-051-148/+109
| | | | save some lines