Commit Graph

21279 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult
9b6ff22f1d randr: fix size parameter to WriteToClient()
Size computation needs to be done on the struct actually written.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-14 16:53:10 +02:00
Enrico Weigelt, metux IT consult
6d6f64da55 Xi: fix size parameter to WriteToClient()
Size computation needs to be done on the struct actually written.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-14 16:52:47 +02:00
Enrico Weigelt, metux IT consult
4454a26545 randr: use x_rpcbuf_t in ProcRRGetProviderProperty()
Use x_rpcbuf_t for reply payload assembly.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-14 14:19:49 +02:00
stefan11111
828135fd3e dix: Xext: replace bytes_to_int32(pad_to_int32(x)) with bytes_to_int32(x)
bytes_to_int32 already adds padding, no need to compute that too.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-08-14 12:55:00 +02:00
Enrico Weigelt, metux IT consult
e62e88fd8b xkb: fix padding in XkbWriteModifierMap()
Fixes: 18fe21fe0e
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-14 12:44:26 +02:00
Enrico Weigelt, metux IT consult
e07a939765 dix: rpcbuf: add x_rpcbuf_pad() for padding the buffer
New function for padding the buffer to full protocol units granularity:
If the current write position isn't at 4-byte granularity, it reserves
the remaining number of bytes (ie. writing zeros), in order to make the
next write align to 4-byte granularity again.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-14 12:44:26 +02:00
Enrico Weigelt, metux IT consult
02737a1cd4 panoramiX: XineramaGetImageData(): simplify the loop
take way the extra scope / indention on the `if (nbox)` statement and
use `continue` instead.

Hint: for easier review, one can use `git diff -w` in order to suppress
the indention-only changes.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-14 12:12:33 +02:00
Enrico Weigelt, metux IT consult
03928dea4b panoramiX: don't use FOR_NSCREENS_FORWARD_SKIP() anymore
in preparation of upcoming new iterator macros, phase out
FOR_NSCREENS_FORWARD_SKIP, so we don't need an additional macro
for just the case where first screen is skipped.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-14 12:10:27 +02:00
Enrico Weigelt, metux IT consult
69452c23ae panoramiX: XineramaGetImageData(): replace walk variable i by walkScreenIdx
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:57:23 +02:00
Enrico Weigelt, metux IT consult
e4081afa65 panoramiX: XineramaGetImageData(): add walkScreen temp variable
Instead of always accessing the global screens array, do it only once
and put it into a walk variable.

Also prepration for upcoming commits which are moving the looping logic
into a generic macro.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:57:23 +02:00
Enrico Weigelt, metux IT consult
be425a933c panoramiX: XineramaGetImageData(): scope scratchMem
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:57:23 +02:00
Enrico Weigelt, metux IT consult
1193e294e7 panoramiX: XineramaGetImageData(): scope sizeNeeded variable
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:57:23 +02:00
Enrico Weigelt, metux IT consult
03f3388745 panoramiX: XineramaGetImageData(): declarare and init depth in one shot
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:57:23 +02:00
Enrico Weigelt, metux IT consult
124dee2db0 panoramiX: XineramaGetImageData(): scope ScratchPitch variable
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:57:23 +02:00
Enrico Weigelt, metux IT consult
79b6f60277 panoramiX: XineramaGetImageData(): scope pBox
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:57:23 +02:00
Enrico Weigelt, metux IT consult
b9f76047fc panoramiX: XineramaGetImageData(): scope loop variables
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:57:23 +02:00
Enrico Weigelt, metux IT consult
5e68ea71f6 panoramiX: XineramaGetImageData(): scope temporary dimension variables
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:57:23 +02:00
Enrico Weigelt, metux IT consult
27f1fcef7f panoramiX: XineramaGetImageData(): scope split pDraw variable usage
Use a separate variable pWalkDraw for inside the loop, as it's got a
different purpose in here.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:57:23 +02:00
Enrico Weigelt, metux IT consult
2f62e660ff panoramiX: XineramaGetImageData(): scope inOut variable
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:57:23 +02:00
Enrico Weigelt, metux IT consult
dee9b9a5be panoramix: XineramaGetImageData(): scope nbox
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:57:23 +02:00
Enrico Weigelt, metux IT consult
d9cf1a7a9d panoramiX: XineramaGetImageData(): scope ScreenRegion
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:57:23 +02:00
Enrico Weigelt, metux IT consult
34c3a9c7e2 treewide: fix serverGeneration int type mismatch
The global (exported) serverGeneration field is `unsigned long`, while
many other places copy it and compare it two other integer types, eg.
plain `int` (which is signed). Even if it's unlikely ever reaching such
high number of generations that it will ever make trouble, it's still
a good idea to clean this up and use the same type everywhere.

For clearity, introducing a typedef `x_server_generation_t` which is
used everywhere, instead of raw `unsigned long`.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:52:03 +02:00
Enrico Weigelt, metux IT consult
05d88310bd namespace: fix naming in examples, errors and comments
At some places, there's still the word 'contianer' instead of 'namespace'

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-13 11:50:13 +02:00
Enrico Weigelt, metux IT consult
e98a3a5ff4 namespace: allow "namespace" config directive instead of "container"
The namespace config still has the "container" directive, which should have
been named "namespace". It's a leftover from the original working draft that
was named "container extension".

For the time being, keep backwards compatibility by allowing both tokens
"container" as well as "namespace" for the same directive. But consider the
old token as deprecated, it shouldn't be used anymore and might go away
in the near future.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-12 18:51:16 +02:00
Enrico Weigelt, metux IT consult
3af53d474f dix: let CreateGCperDepth() accept ScreenPtr instead of screen id
It's only caller already has the ScreenPtr, so it doesn't make any sense
passing in the screen number and let that function retrieve the pointer
on its own again.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-12 11:09:43 +02:00
Enrico Weigelt, metux IT consult
d4fc1506ad dix: let CreateDefaultStipple() accept ScreenPtr instead of screen id
It's only caller already has the ScreenPtr, so it doesn't make any sense
passing in the screen number and let that function retrieve the pointer
on its own again.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-12 11:09:35 +02:00
Enrico Weigelt, metux IT consult
a18524fa5d Xext: shape: fix non-ximerama build
In the non-XINERAMA code path, a parameter was missing.

Fixes: a57db845bb
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-12 11:10:53 +02:00
Enrico Weigelt, metux IT consult
a1c3dcb527 dix: let x_rpcbuf_wsize_units() return CARD32
Practically all callers need to assign to a CARD32 field, so let it
directly compute and return as CARD32.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-12 10:29:01 +02:00
Enrico Weigelt, metux IT consult
d19cfbfa70 randr: ProcRRGetOutputInfo (): simplify by using x_rpcbuf_t
* use x_rpcbuf_t for reply payload assembly and byte-swap
* do byte-swap of header fields explicitly instead of cryptic functions
* drop extra length computation

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:28:45 +02:00
Enrico Weigelt, metux IT consult
946eb68ff3 xkb: ProcXGetDeviceKeyMapping(): use x_rpcbuf_t
Using x_rpcbuf_t for payload assembly and byte swapping.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:26:14 +02:00
Enrico Weigelt, metux IT consult
7d8d609121 xkb: ProcXkbGetMap(): add payload_len sanity check
Print out a warning when actually written payload length doesn't mactch
the previously computed one.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:26:14 +02:00
Enrico Weigelt, metux IT consult
c3052dbc39 xkb: use x_rpcbuf_t in XkbWriteVirtualModMap()
As it's caller now has x_rpcbuf, we can use it here, instead of
meddling with pre-allocated buffer space directly via raw pointer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:26:14 +02:00
Enrico Weigelt, metux IT consult
18fe21fe0e xkb: use x_rpcbuf_t in XkbWriteModifierMap()
As it's caller now has x_rpcbuf, we can use it here, instead of
meddling with pre-allocated buffer space directly via raw pointer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:26:14 +02:00
Enrico Weigelt, metux IT consult
e5d91b49e5 xkb: use x_rpcbuf_t in XkbWriteExplicit()
As it's caller now has x_rpcbuf, we can use it here, instead of
meddling with pre-allocated buffer space directly via raw pointer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:26:14 +02:00
Enrico Weigelt, metux IT consult
15a13ef93e xkb: XkbAssembleMap(): use x_rpcbuf_t for writing the virtual mods
As we now have x_rpcbuf, we can use it here, instead of meddling
with pre-allocated buffer space directly via raw pointer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:26:14 +02:00
Enrico Weigelt, metux IT consult
316e5e431a xkb: use x_rpcbuf_t in XkbWriteKeyBehaviors()
As it's caller now has x_rpcbuf, we can use it here, instead of
meddling with pre-allocated buffer space directly via raw pointer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:26:14 +02:00
Enrico Weigelt, metux IT consult
bee50daeca xkb: use x_rpcbuf_t in XkbWriteKeyActions()
As it's caller now has x_rpcbuf, we can use it here, instead of
meddling with pre-allocated buffer space directly via raw pointer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:26:14 +02:00
Enrico Weigelt, metux IT consult
264ecee69b xkb: use x_rpcbuf_t in XkbWriteKeySyms()
As it's caller now has x_rpcbuf_t, we can use it here, instead of
meddling with pre-allocated buffer space directly via raw pointer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:26:14 +02:00
Enrico Weigelt, metux IT consult
742443ea73 xkb: pass x_rpcbuf_t into XkbAssembleMap()
The keymap assembly machinery is a horribly complicated machinery,
because often whole replies with variable sized payloads can be nested
into each other. It's time to use x_rpcbuf_t for that, but's is not an
easy thing to do and really a huge change - therefore doing this in small
and easy to digest step.

At first, let XkbAssembleMap() operate on a x_rpcbuf_t. But for now just
let it use the x_rpcbuf_t's raw buffer directly (because it's callees cant
work on this yet) - thus XkbAssembleMap() yet need to make enough room
in the buffer before calling in.

For the time being we're allocating far too much (because calculating
the actually need amount would be too complicated here) and having an
extra memcpy(). But it's just an intermediate step anyways - subsequent
commits will convert everything down the whole call chain into using
x_rpcbuf_t operations, so that extra overhead can be dropped again later.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:26:14 +02:00
callmetango
b59b6226d7 xfree86: enable semantic versioning
* switch major version from 25.0 to 25
* make loader respect legacy 25.0 module dirs (to be removed in version
  26)

Fixes: #646
Signed-off-by: callmetango <callmetango@users.noreply.github.com>
2025-08-11 20:25:52 +02:00
Enrico Weigelt, metux IT consult
f66ee7277e treewide: replace PICT_yuv2 by PIXMAN_yuy2
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:23:43 +02:00
Enrico Weigelt, metux IT consult
dbe4339fd7 treewide: replace PICT_a4b4g4r4 by PIXMAN_a4b4g4r4
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:23:43 +02:00
Enrico Weigelt, metux IT consult
5d96eba31b treewide: replace PICT_x4b4g4r4 by PIXMAN_x4b4g4r4
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:23:43 +02:00
Enrico Weigelt, metux IT consult
c2a4f0033c treewide: replace PICT_a4r4g4b4 by PIXMAN_a4r4g4b4
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:23:43 +02:00
Enrico Weigelt, metux IT consult
4295cf6817 treewide: replace PICT_x4r4g4b4 by PIXMAN_x4r4g4b4
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:23:43 +02:00
Enrico Weigelt, metux IT consult
840a4ceabe treewide: replace PICT_a1r5g5b5 by PIXMAN_a1r5g5b5
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:23:43 +02:00
Enrico Weigelt, metux IT consult
889ded74be treewide: replace PICT_a1b5g5r5 by PIXMAN_a1b5g5r5
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:23:43 +02:00
Enrico Weigelt, metux IT consult
a23fdf9d2f treewide: replace PICT_x1b5g5r5 by PIXMAN_x1b5g5r5
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:23:43 +02:00
Enrico Weigelt, metux IT consult
19df33aa7a treewide: replace PICT_b5g6r5 by PIXMAN_b5g6r5
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:23:43 +02:00
Enrico Weigelt, metux IT consult
cadf94d6c8 treewide: replace PICT_a2b10g10r10 by PIXMAN_a2b10g10r10
Try not to use old compat macros anymore, use the real ones instead.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-11 20:23:43 +02:00