xserver/randr
Enrico Weigelt, metux IT consult 058815bed1 randr: use explicit case statement instead of SProcRandrVector table
No need to go indirectly through a vector table, since everything's fixed
anyways. It's not a pretty robust programming style: any changes need great
care, in order to not mix up things.

Replacing this by direct switch/case statement, which is using the defines
from the xrandr protocol headers. Also adding a little bit more protection
against subtle programming errors and reducing cognitive load (source size)
on understanding the code by using a tiny macro for deducing define name and
function name from the request's name.

This approach actually uncovered some subtle bug that had been waiting in
the dark for over 15 years.

As collateral benefit, getting a tiny bit better performance.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1794>
2025-02-24 20:30:26 +00:00
..
meson.build meson: hide C API if Xorg is disabled (like autotools) 2021-03-11 00:22:36 +00:00
randr.c randr: use explicit case statement instead of SProcRandrVector table 2025-02-24 20:30:26 +00:00
randrstr.h render: drop obsolete macros pict_f_transform and pict_f_vector 2024-03-03 22:54:16 +00:00
randrstr_priv.h randr: use explicit case statement instead of SProcRandrVector table 2025-02-24 20:30:26 +00:00
rrcrtc.c randr: use dixDestroyPixmap() instead of direct driver call 2025-02-12 17:48:30 +01:00
rrdispatch.c randr: use explicit case statement instead of ProcRandrVector table 2025-02-24 20:30:26 +00:00
rrinfo.c Convert top level extensions to new *allocarray functions 2015-04-21 16:57:08 -07:00
rrlease.c os: unexport WriteFdToClient() 2025-02-18 10:53:44 +00:00
rrmode.c randr: fix length checking with bigreq 2025-02-06 22:28:48 +00:00
rrmonitor.c randr: fix length checking with bigreq 2025-02-06 22:28:48 +00:00
rroutput.c dix: unexport some lookup functions 2024-04-15 18:11:57 -07:00
rrpointer.c dix: unexport GetSpritePosition() 2024-09-02 16:43:29 +00:00
rrproperty.c randr: fix length checking with bigreq 2025-02-06 22:28:48 +00:00
rrprovider.c dix: unexport some lookup functions 2024-04-15 18:11:57 -07:00
rrproviderproperty.c randr: fix length checking with bigreq 2025-02-06 22:28:48 +00:00
rrscreen.c dix: unexport some lookup functions 2024-04-15 18:11:57 -07:00
rrsdispatch.c randr: use explicit case statement instead of SProcRandrVector table 2025-02-24 20:30:26 +00:00
rrtransform.c randr: Silence -Wshift-negative-value warnings 2015-10-19 11:51:52 -04:00
rrtransform.h render: drop obsolete macros pict_f_transform and pict_f_vector 2024-03-03 22:54:16 +00:00
rrxinerama.c randr: drop now obsolete swap procs 2025-02-06 22:28:51 +00:00