Enrico Weigelt, metux IT consult
c4f89e4edc
( !1714 ) dix: add per-screen window position notify hook
...
Right now, extension specific actions on window positioning are 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
window positioning 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-02-13 14:09:44 +01:00
Enrico Weigelt, metux IT consult
08e8e1af35
FIXME ( !1714 ) FIXME !!! mi: overlay: 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-02-13 14:09:44 +01:00
Enrico Weigelt, metux IT consult
15ceff0167
( !1787 ) mi: (re)export and document miPointerInitialize()
...
Xrdp project request exporting this function again, because (unlike the
usual xf86-video-* drivers) they need their own custom cursor handling:
RDP is designed to draw cursors on client side.
Also documenting what the function does.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-13 14:09:43 +01:00
Enrico Weigelt, metux IT consult
4628254698
mi: use dixDestroyPixmap() instead of direct driver call
...
Direct calls to ScreenRec->DestroyPixmap() blocks cleaning up the wrapping
jungle, so use the proper dix function instead.
See: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1754
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1711 >
2025-02-12 17:48:30 +01:00
Enrico Weigelt, metux IT consult
6ee163cb94
mi: miexpose: fix FTBS w/ rootless helper
...
FTBS when rootless subsys enabled:
> ../mi/miexpose.c: In function ‘miPaintWindow’:
> ../mi/miexpose.c:411:15: error: unused variable ‘orig_pWin’ [-Werror=unused-variable]
> 411 | WindowPtr orig_pWin = pWin;
> | ^~~~~~~~~
> cc1: all warnings being treated as errors
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1703 >
2025-02-08 15:15:57 +00:00
Enrico Weigelt, metux IT consult
2d18c353b4
os: log: replace ErrorFSigSafe() by ErrorF()
...
Since ErrorF() is now signal safe, we can use this one instead.
Leaving ErrorFSigSafe() macro for backwards compat with drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1691 >
2025-02-06 23:35:27 +00:00
Enrico Weigelt, metux IT consult
e1e8ab3ddf
mi: miline.h: drop DEFAULTZEROLINEBIAS from public header
...
This define in only used locally, in exactly one source file,
thus no neeed 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/1726 >
2025-02-06 22:18:12 +00:00
Enrico Weigelt, metux IT consult
c06d9da5b6
mi: miline.h: unexport only locally used macros
...
These macros are only used in one source file, 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/1726 >
2025-02-06 22:18:11 +00:00
Enrico Weigelt, metux IT consult
6825f89cd2
mi: drop now obsolete mioverlay.h
...
This used to be part of public API, but no (known) driver ever
using it, nor any exported functions left. The only internal consumer
(mioverlay.c) also gone now, so it's time to drop this file.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1503 >
2025-02-06 21:00:08 +00:00
Enrico Weigelt, metux IT consult
65b738ed60
mi: drop now obsolete mioverlay.c
...
Since it became practically empty, we can remove it now.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1503 >
2025-02-06 21:00:08 +00:00
Enrico Weigelt, metux IT consult
00796cbf8c
mi: drop obsolete miOverlaySetRootClip()
...
Not used by any (known) drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1503 >
2025-02-06 21:00:08 +00:00
Enrico Weigelt, metux IT consult
54704e4a50
mi: drop obsolete miOverlaySetTransFunction()
...
Not used by any (known) drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1503 >
2025-02-06 21:00:08 +00:00
Enrico Weigelt, metux IT consult
be6985948d
mi: drop obsolete miOverlayCopyUnderlay()
...
Not used by any (known) drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1503 >
2025-02-06 21:00:08 +00:00
Enrico Weigelt, metux IT consult
bfb69b7316
mi: drop obsolete miOverlayComputeCompositeClip()
...
Not used by any (known) drivers anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1503 >
2025-02-06 21:00:08 +00:00
Enrico Weigelt, metux IT consult
a860ce2c9f
mi: drop obsolete miOverlayCollectUnderlayRegions()
...
Not used by any known drivers/modules.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1503 >
2025-02-06 21:00:08 +00:00
Enrico Weigelt, metux IT consult
2c21824ee9
mi: drop obsolete miOverlayGetPrivateClips()
...
It's not used anymore, not even by any (known) drivers.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1503 >
2025-02-06 21:00:08 +00:00
Enrico Weigelt, metux IT consult
12ab2e314b
mi: drop obsolete miInitOverlay()
...
It doesn't seem to be used anywhere for quite some time.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1503 >
2025-02-06 21:00:08 +00:00
Enrico Weigelt, metux IT consult
d79432e0d4
Xnest: tidy up extension blacklisting in miinitext.c
...
The DDX'es sometimes need to disable certain extensions. Instead of complex
include cascades with ifdef'ed ddx-specific include from dix code, it's
more clean to add some clear and explicit knobs set by the DDX'es individual
meson.build.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1401 >
2025-02-06 16:14:03 +00:00
Enrico Weigelt, metux IT consult
fb696a7d7b
rename old symbol PANORAMIX to XINERAMA
...
PANORAMIX was the original working title of the extension, before it became
official standard. Just nobody cared about fixing the symbols to the official
naming.
For backwards compatibility with drivers, the old PANORAMIX symbol will
still be set.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1258 >
2025-02-06 15:51:27 +00:00
Enrico Weigelt, metux IT consult
aae9bd3f62
mi: unexport SetInstalledmiColormap() macro
...
Not neeed by any drivers/modules, 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/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
c3c538784a
mi: unexport miExpandDirectColors()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
3cf2408232
mi: unexport miXYToWindow()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
85be6c82b0
mi: unexport miSpriteTrace()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
6c3b432053
mi: unexport miMarkUnrealizedWindow()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
b23ecec2f4
mi: unexport miChangeBorderWidth()
...
Not used by any driveres/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
597ba690d3
mi: unexport miSetShape()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
f11e203215
mi: unexport miGetLayerWindow()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
14565a4561
mi: unexport miResizeWindow()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
faad8ed1c6
mi: unexport miMoveWindow()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
0624a8bad4
mi: unexport miHandleValidateExposures()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
ade6650a81
mi: unexport miMarkOverlappedWindows()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
bcbb6eec62
mi: unexport miMarkWindow()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
3856b6cb5e
mi: unexport miClearToBackground()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
7e21a514d7
mi: unexport miValidateTree()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
c2ee74c523
mi: unexport miShapedWindowIn()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
d14ae53e1f
mi: unexport miCreateScreenResources()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
191cca0905
mi: unexport miSourceValidate()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
a54e8f5343
mi: unexport miPaintWindow()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
e424f49cdb
mi: unexport miWindowExposures()
...
Not used by any modules/drivers, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
8d07450904
mi: unexport miSendExposures()
...
Not used by any drivers/modules, 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/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
7748984e3a
mi: unexport mieqSetHandler()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
964127ce10
mi: unexport mieqRemoveCallbackOnDrained()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
269d54c48f
mi: unexport mieqAddCallbackOnDrained()
...
Not used by any modules/drivers, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
9aa23b6abd
mi: unexport mieqProcessInputEvents()
...
Not used by any drivers/modules, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
0f7770bce3
mi: unexport mieqProcessDeviceEvent()
...
Not used by any drivers/modules, 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/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
413e6ed2c8
mi: unexport mieqSwitchScreen()
...
Not used by any drivers/modules, 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/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
9dd280607f
mi: unexport mieqEnqueue()
...
Not used by any (known) drivers, so no need to keep it exported.
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
4742790351
mi: unexport mieqFini()
...
Not used by any driver/module, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
5ac361cce9
mi: unexport mieqInit()
...
Not used by any drivers/modules so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00
Enrico Weigelt, metux IT consult
8a6bbc80f3
mi: unexport miStepDash()
...
Not used by any module/driver, so no need to keep it public.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1727 >
2025-02-06 16:45:20 +02:00