Enrico Weigelt, metux IT consult
e6b506d46f
( !1714 ) dix: add per-screen close notify hook
...
Right now, extension specific actions on screen closing implemented by wrapping
the ScreenRec's PositionWindow() 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
screen closing path safely, w/o having to care much about side effects with
the call chain. Extensions now can simply register their hook proc (and an
opaque pointer) and get called back - w/o ever having to mess with the
ScreenRec's internal structures. These hooks are called before the original
vector (usually handled by DDX/screen driver directly) is called.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:46 +02:00
Enrico Weigelt, metux IT consult
d96ea26e7f
( !1714 ) xfree86: xv: use window destructor hook
...
Wrapping ScreenRec's function pointers is problematic for many reasons,
so use the new window destructor hook instead.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:45 +02:00
Enrico Weigelt, metux IT consult
0e9b15f024
( !1967 ) dix: protect from pScreen->SetCursorPosition == NULL
...
It's safer not relying on all ScreenProc's actually filled.
../dix/events.c: In function ‘CheckPhysLimits’:
../dix/events.c:780:14: warning: dereference of NULL ‘pScreen’ [CWE-476] [-Wanalyzer-null-dereference]
780 | (*pScreen->SetCursorPosition)
| ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:41 +02:00
Enrico Weigelt, metux IT consult
90897f1479
( !1969 ) xfree86: common: extra safety checks for NULL pointers
...
Even though it's unlikely ever getting it, still safer to have some
extra checks / asserts than unexpected segfault.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:41 +02:00
Enrico Weigelt, metux IT consult
dd40eb46ea
( !1969 ) xfree86: common: fix not-found check in xf86platformAddDevice()
...
Safer (and easier to understand) if we look at the result pointer
instead of the counter for testing whether device wasn't found.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:40 +02:00
Enrico Weigelt, metux IT consult
8cd24a7227
( !1969 ) xfree86: common: gracefully handle allocation failure
...
Better try to handle memory allocation gracefully than just hard
crashing by segfault.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:40 +02:00
Enrico Weigelt, metux IT consult
e3fb6235c2
( !1982 ) xfree86: xf86Priv.h: dont include propertyst.h
...
Nothing in here needs anything from that include file, so no need for
including it.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:39 +02:00
Enrico Weigelt, metux IT consult
1f5a65cbb6
( !1982 ) xfree86: xf86.h: dont include propertyst.h
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:39 +02:00
Enrico Weigelt, metux IT consult
aa6614babf
( !1982 ) xfree86: xf86Events.c: add missing include of property.h
...
the file calls some functions from property.h, so it needs to be included.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:39 +02:00
Enrico Weigelt, metux IT consult
1fdd80ad6f
( !1985 ) randr: unexport and document RRProviderAutoConfigGpuScreen()
...
Not used by any external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:38 +02:00
Enrico Weigelt, metux IT consult
5497972937
( !1985 ) randr: unexport and document RRResourcesChanged()
...
Not used by external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:37 +02:00
Enrico Weigelt, metux IT consult
c7db35ddfe
( !1988 ) xfree86: drop xf86VGAarbiter.h
...
It doesn't serve any practical purpose anymore and also isn't included
by any external driver, thus also no need to keep it in SDK.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
65d066752d
( !1988 ) xfree86: unexport xf86VGAarbiterAllowDRI()
...
Not used by any external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
cd65f1782e
( !1988 ) xfree86: drop obsolete xf86VGAarbiterDeviceDecodes()
...
Not used by anybody, so no need to keep it anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
1ecf9747a0
( !1990 ) xfree86: unexport xf86RemoveInputEventDrainCallback()
...
Not used by any external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
59c5b52fa7
( !1990 ) xfree86: unexport xf86AddInputEventDrainCallback()
...
Not used by any external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
35b8f8f850
( !1990 ) xfree86: unexport xf86LookupInput()
...
Not used by any external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
b06e3af673
( !1990 ) xfree86: unexport xf86LookupInputDriver()
...
Not used by any external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
e0b0c76d24
( !1990 ) xfree86: unexport xf86InputEnableVTProbe()
...
Not used by any external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
f228a227c7
( !1990 ) xfree86: unexport xf86PostButtonEventM()
...
Not used by any external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
a361865a6d
( !1990 ) xfree86: make xf86VIDrvMsgVerb() static
...
Only used inside xf86Helper.c, so can be made static.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
75678dca4f
( !1990 ) xfree86: make xf86PostKeyEvent() static
...
Only used inside xf86Xinput.c, so can be made static.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
c469091176
( !1990 ) xfree86: drop obsolete xf86PostKeyEventM()
...
It's now only a wrapper calling xf86PostKeyEvent(), and no external driver
using it anymore, so we can drop it entirely.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
9c26407716
( !1990 ) xfree86: drop unused xf86DeleteInputDriver()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
d8e0d603dd
( !1990 ) xfree86: drop unused xf86EnableDevice()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
4b8ce1a231
( !1990 ) xfree86: drop unused xf86PostKeyEventP()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
160c069116
( !1990 ) xfree86: drop unused xf86PostProximityEventP()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
1b2128f5a1
( !1990 ) xfree86: drop unused xf86PostMotionEventP()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
2d9bd108e6
( !1991 ) xfree86: xf86Option: unexport xf86MarkOptionUsedByName()
...
Not used by any external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
c885613d3b
( !1991 ) xfree86: xf86Option: unexport xf86MarkOptionUsed()
...
Not used by any external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
99f022731f
( !1991 ) xfree86: xf86Option: unexport xf86OptionListReport()
...
Not used by any external drivers, so no need to keep it exported.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
4e1885f3d5
( !1991 ) xfree86: xf86Option: make xf86CheckIfOptionUsedByName() static
...
Only used inside of xf86Option.c, so can be made static.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
529deae922
( !1991 ) xfree86: xf86Option: drop unused xf86CheckIfOptionUsed()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
b697b2bc51
( !1991 ) xfree86: xf86Option: drop unused xf86ReplacePercentOption()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
6696742112
( !1991 ) xfree86: xf86Option: drop unused xf86ReplaceRealOption()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
fcd70be3ed
( !1991 ) xfree86: xf86Option: drop unused xf86GetOptValReal()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
3db4b3ddde
( !1991 ) xfree86: xf86Option: drop unused xf86NewOption()
...
Not used anywhere, so no need to keep it around any longer.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:35 +02:00
Enrico Weigelt, metux IT consult
8d87849774
( !1991 ) xfree86: xf86Option: drop unused xf86CheckRealOption()
...
Not used anywhere, so no need to keep it around anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:34 +02:00
Enrico Weigelt, metux IT consult
9fd2de407d
( !1995 ) xfree86: xisb: drop unused XisbTrace()
...
Not used anywhere, so no need to keep it around anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:34 +02:00
Enrico Weigelt, metux IT consult
1c3e21694a
( !1995 ) xfree86: xisb: drop unused XisbWrite()
...
Not used anywhere, so no need to keep it around anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:34 +02:00
Enrico Weigelt, metux IT consult
85914d59ba
( !1996 ) xfree86: xv: unexport XF86XvScreenKey
...
Not used by any drivers, and the include is private anyways.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:34 +02:00
Enrico Weigelt, metux IT consult
22904a4c43
( !1996 ) xfree86: xv: don't install xf86xvpriv.h
...
Not included by any drivers, and it's supposed to be private anyways.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:34 +02:00
Enrico Weigelt, metux IT consult
3d04c302a9
( !1996 ) xfree86: xv: drop unused xf86XVFillKeyHelperPort()
...
Not used anywhere, so no need to keep it around anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:34 +02:00
Enrico Weigelt, metux IT consult
b7b7ed9f13
( !1997 ) xfree86: fbman: move FBManagerFuncs into x86fbman.c
...
Only used here, so no need to keep it in public API.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:34 +02:00
Enrico Weigelt, metux IT consult
458bfb9b3c
( !1997 ) xfree86: fbman: make xf86InitFBManagerRegion() static
...
Only called locally within xf86fbman.c, so can be made static.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:34 +02:00
Enrico Weigelt, metux IT consult
d276caae83
( !1997 ) xfree86: fbman: make xf86RegisterOffscreenManager()
...
Only called locally within xf86fbman.c, so can be made static.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:34 +02:00
Enrico Weigelt, metux IT consult
5104bae723
( !1997 ) xfree86: fbman: drop FreeBoxesUpdateCallback
...
Nobody fills it anymore, so not needed at all anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:34 +02:00
Enrico Weigelt, metux IT consult
5da301d8a4
( !1997 ) xfree86: fbman: drop RegisterFreeBoxCallback proc pointer
...
Nobody calls it anymore, so no need to keep it around anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:34 +02:00
Enrico Weigelt, metux IT consult
6b8b67aba0
( !1997 ) xfree86: fbman: drop unused xf86RegisterFreeBoxCallback()
...
Not used anywhere, so no need to keep it around anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:34 +02:00
Enrico Weigelt, metux IT consult
928e5bea2b
( !1997 ) xfree86: fbman: drop unused xf86AllocateLinearOffscreenArea()
...
Not used anywhere, so no need to keep it around anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-05-22 17:34:34 +02:00