Enrico Weigelt, metux IT consult
3191eb529e
( !1714 ) dix: add per-screen window destructor hook
...
Right now, extension specific window destruction procedures are implemented
by wrapping the ScreenRec's DestroyWindow() proc pointer: the extensions are
storing the original pointer in their private data and putting in their own one.
On each call, their proc restores the original one, calls it, and switches back
again. When multiple extensions doing so, they're forming a kind of daisy chain.
(the same is done for lots of other procs)
While that approach is looking nice and elegant on the drawing board, it's
complicated, dangerous like a chainsaw and makes debugging hard, leading to
pretty blurred API borders.
This commit introduces a simple approach for letting extension hook into the
window destruction safely, w/o having to care much about side effects with
the call chain. Extensions now can simply register their destructor proc
(and an opaque pointer) and get called back - w/o ever having to mess with
the ScreenRec's internal structures.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-10-31 19:23:51 +01:00
Enrico Weigelt, metux IT consult
bf3bbdd094
( !1711 ) dix: add in-code docs for dixDestroyPixmap()
...
Give some more explaination for the dixDestroyPixmap() function.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-10-31 19:23:50 +01:00
Alan Coopersmith
a1b5aa5a7f
dix-config.h: add HAVE_SOCKLEN_T definition
...
Needed to build with IPv6 disabled using gcc 14 on some platforms to avoid:
In file included from /usr/X11/include/X11/Xtrans/transport.c:67,
from xstrans.c:17:
/usr/X11/include/X11/Xtrans/Xtranssock.c: In function ‘_XSERVTransSocketOpen’:
/usr/X11/include/X11/Xtrans/Xtranssock.c:467:28: error: passing argument 5
of ‘getsockopt’ from incompatible pointer type [-Wincompatible-pointer-types]
467 | (char *) &val, &len) == 0 && val < 64 * 1024)
| ^~~~
| |
| size_t * {aka long unsigned int *}
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1736 >
2024-10-30 12:26:58 -07:00
Enrico Weigelt, metux IT consult
1642adec3b
dix: unexport Ones()
...
It's not used by any module/driver, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1695 >
2024-10-26 16:35:57 +00:00
Enrico Weigelt, metux IT consult
e5b5b302d3
os: replace LogVWrite() by LogVMessageVerb()
...
It's just a wrapper around LogVMessageVerb() and no external module
using it, so can easily be optimized-away.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1683 >
2024-10-10 17:34:12 +00:00
Enrico Weigelt, metux IT consult
c26023a009
os: replace LogWrite() by LogMessageVerb()
...
It's nothing but a wrapper, doing the same as LogMessageVerb(X_NONE, ...),
and no external module / driver needs it, so can be easily optimized away.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1683 >
2024-10-10 17:34:12 +00:00
Enrico Weigelt, metux IT consult
37446b70de
os.h: drop unnecessary guard on stdlib.h include
...
It's a standard C header, that's always present, so no extra guard needed.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1684 >
2024-10-10 17:16:00 +00:00
Enrico Weigelt, metux IT consult
886c282242
swapreq.h: drop SWAPREQ_PROC
...
This macro doesn't do anything more than just making the function declarations
a few bytes smaller, but this makes the code harder to read (eg. when just
grepping through the code base).
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1609 >
2024-10-10 16:10:32 +00:00
Enrico Weigelt, metux IT consult
84be5b4e9c
dix: unexport non-public functions from dixgrabs.h and document prototypes
...
* unexport functions from dixgrab.h, that aren't used by any driver/module.
* add paremeter names to prototypes
* add doxygen-style documentation for all the prototypes
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-10-10 13:50:57 +00:00
Enrico Weigelt, metux IT consult
e7c225aef6
dix: CreateGrab() rename "type" parameter to "eventType"
...
Make it clear what exactly this parameter is for.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-10-10 13:50:57 +00:00
Enrico Weigelt, metux IT consult
93856053b7
dix: make CopyGrab() static
...
This function is only called once in the same source file, no external callers
at all. So, it doesn't need to be visible outside that file, and we can allow
the compiler to do whatever fancy optimizations it might wanna do.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-10-10 13:50:57 +00:00
Enrico Weigelt, metux IT consult
1891a8dc14
os: unexport client id retrieval functions
...
These aren't used by any (known) external modules, thus no need to export them.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-10-10 13:45:29 +00:00
Enrico Weigelt, metux IT consult
ed3c2aeeb1
os: unexport DetermineClientPid() and DetermineClientCmd()
...
These aren't used by any drivers/modules, so no need to export them.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-10-10 13:45:29 +00:00
Enrico Weigelt, metux IT consult
7ac7a2d6de
os: split off internal definitions from client.h
...
The client.h file is part of the public module API, but it also contains
definitions that aren't useful for being used in modules. Splitting them
out into their own client_priv.h file, which isn't part of the API.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-10-10 13:45:29 +00:00
Enrico Weigelt, metux IT consult
b0272692a1
dix: unexport DeleteAllWindowProperties()
...
Not used by any drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1340 >
2024-09-02 17:50:47 +00:00
Enrico Weigelt, metux IT consult
fb697dd644
dix: unexport dixLookupProperty()
...
It's not used by any drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1340 >
2024-09-02 17:50:47 +00:00
Enrico Weigelt, metux IT consult
955cc5417b
include: split out non-exported stuff from property.h
...
Reduce cluttering public interface with non-exported stuff, moving those
things into a separate internal header.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1340 >
2024-09-02 17:50:47 +00:00
Enrico Weigelt, metux IT consult
6c7c4fdc7e
dix: drop superfluous XineramaGetCursorScreen()
...
It's only used for record extension, no external callers, thus doesn't
need to be exported. Since it's just for retrieving one struct value,
it's not needed at all - we can do this directly (just like we do in
many other places)
Note: the check on noPanoramixExtensions is superfluous, since the only
call site already does it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1345 >
2024-09-02 16:43:29 +00:00
Enrico Weigelt, metux IT consult
eb81769b58
dix: unexport GetSpritePosition()
...
This function isn't used in any external modules, thus no need to export it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1345 >
2024-09-02 16:43:29 +00:00
Enrico Weigelt, metux IT consult
9673886fac
dix: unexport PointerConfinedToScreen()
...
It's not used by external modules, so no need to export it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1345 >
2024-09-02 16:43:29 +00:00
Enrico Weigelt, metux IT consult
bd3c252710
dix: unexport NewCurrentScreen()
...
It's not used by external modules/drivers, so no need to export it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1345 >
2024-09-02 16:43:29 +00:00
Enrico Weigelt, metux IT consult
24d1c08441
dix: unexport CheckCursorConfinement()
...
This function isn't used by any external module, so no need to export it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1345 >
2024-09-02 16:43:29 +00:00
Enrico Weigelt, metux IT consult
0c354e9166
dix: unexport CursorMetricsFromGlyph()
...
This function isn't used by external modules, thus no need to export it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1345 >
2024-09-02 16:43:29 +00:00
Enrico Weigelt, metux IT consult
974cd2b5f2
dix: unexport ServerBitsFromGlyph()
...
This function isn't used by external modules/drivers, so no need to export it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1345 >
2024-09-02 16:43:29 +00:00
Enrico Weigelt, metux IT consult
24f3c4a508
dix: unexport cursor allocation functions
...
These functions aren't used by external modules, so no need to export them.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1345 >
2024-09-02 16:43:29 +00:00
Enrico Weigelt, metux IT consult
4aadbeb8aa
dix: unexport cursor refcounting functions
...
These aren't used externally (drivers/modules), thus no need to export them.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1345 >
2024-09-02 16:43:29 +00:00
Enrico Weigelt, metux IT consult
a2f72755a9
dix: unexport rootCursor
...
This field is only used by DIX and XI, thus no need to export it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1345 >
2024-09-02 16:43:29 +00:00
Enrico Weigelt, metux IT consult
1d7cb4b2c3
os: unexport CloseDownConnection()
...
Not used by any drivers, so no need to export it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1582 >
2024-09-02 16:02:39 +00:00
moozcheng
96079f8c68
dix: fix a misused const pointer in cursor.c
...
`const CursorPtr` actually means `struct _Cursor *const`, a constant pointer, which does not prevent you from accidentally modifying the value it points to, like the cursor refcnt.
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1140 >
2024-09-01 22:46:05 +00:00
Enrico Weigelt, metux IT consult
03eb593460
include: unexport XIstubs.h
...
The functions declared here aren't used by any driver, so no need to keep
them in the public driver API. Since the whole file isn't included by anybody
outside the xserver tree itself, it doesn't need to be installed at all,
so making it internal and move it to Xi directory.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1325 >
2024-09-01 22:21:12 +00:00
Enrico Weigelt, metux IT consult
1bfa4876f6
dix: move colormap flags into colormap_priv.h and rename them
...
These aren't used by any drivers/modules, so no need to keep them exported.
As already touching them, give them a proper name prefix for clarity.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:50 +00:00
Enrico Weigelt, metux IT consult
7ba3fc3a54
dix: move internal defines into colormap.c
...
These are really internal to colormap.c, so move them there.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:50 +00:00
Enrico Weigelt, metux IT consult
cbf5d88352
include: colormap.h: drop unused defines
...
These aren't used anywhere, so we can drop them.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:50 +00:00
Enrico Weigelt, metux IT consult
7c03549134
include: colormap.h: drop unused typedef colorResourcePtr
...
This typedef isn't used anywhere, so can be dropped.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:50 +00:00
Enrico Weigelt, metux IT consult
a3ec1a829d
dix: unexport IsMapInstalled()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:50 +00:00
Enrico Weigelt, metux IT consult
5eca51a5d2
dix: unexport StoreColors()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:50 +00:00
Enrico Weigelt, metux IT consult
6809621985
dix: unexport FreeColors()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:50 +00:00
Enrico Weigelt, metux IT consult
c2e49c82be
dix: unexport AllocColorPlanes()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:50 +00:00
Enrico Weigelt, metux IT consult
b7e280e163
dix: unexport AllocColorCells()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:50 +00:00
Enrico Weigelt, metux IT consult
3964510fb8
dix: unexport FreeClientPixels()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:50 +00:00
Enrico Weigelt, metux IT consult
5dc5d2965b
dix: unexport QueryColors()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:50 +00:00
Enrico Weigelt, metux IT consult
968cb9c7fa
dix: unexport FakeFreeColor()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:49 +00:00
Enrico Weigelt, metux IT consult
989c46fc9d
dix: unexport FakeAllocColor()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:49 +00:00
Enrico Weigelt, metux IT consult
b48e4a9cb7
dix: unexport AllocColor()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:49 +00:00
Enrico Weigelt, metux IT consult
3874fced31
dix: unexport CopyColormapAndFree()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:49 +00:00
Enrico Weigelt, metux IT consult
de4db967e0
dix: unexport TellGainedMap()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:49 +00:00
Enrico Weigelt, metux IT consult
ece72f50fe
dix: unexport TellLostMap()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:49 +00:00
Enrico Weigelt, metux IT consult
a1902f2029
dix: unexport FreeColormap()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:49 +00:00
Enrico Weigelt, metux IT consult
7ce67a99bc
dix: unexport CreateColormap()
...
Not used by any driver/module, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1581 >
2024-09-01 22:06:49 +00:00
Enrico Weigelt, metux IT consult
a66f99515a
Revert "dix: unexport AttachOutputGPU() and DetachOutputGPU()"
...
This reverts commit 1277bb7143
.
Nvidia driver needs them for PRIME handling.
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1371 >
2024-09-01 20:38:01 +00:00