xserver/exa
Enrico Weigelt, metux IT consult ee798cf212 exa: simplify CreatePixmap()/DestroyPixmap() handlers error pathes
Instead of complex wrap/unwrap trickery in the error path, just
protect the DestroyPixmap() handlers from half-initialized state.

Prior to this change, we always had to make sure, the we're calling
the original (screen driver's) handler directly, instead of our own
(which calls the original one, too), so it doesn't do any damage.
This isn't necessary anymore, since it finds out on it own what to do.

This not just makes the code flow simpler and easier to understand, but
also clears the road for decoupling the extension specific pixmap destructor
logic from the ScreenRec proc vectors (*1).

*1) see: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1755
         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
..
exa.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
exa.h exa: rename some badly named variables 2020-07-10 06:17:40 +10:00
exa_accel.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
exa_classic.c exa: simplify CreatePixmap()/DestroyPixmap() handlers error pathes 2025-02-12 17:48:30 +01:00
exa_driver.c exa: simplify CreatePixmap()/DestroyPixmap() handlers error pathes 2025-02-12 17:48:30 +01:00
exa_glyphs.c exa: use dixDestroyPixmap() instead of direct driver call 2025-02-12 17:48:30 +01:00
exa_migration_classic.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
exa_migration_mixed.c drop obsolete HAVE_DIX_CONFIG_H 2024-10-10 13:38:31 +00:00
exa_mixed.c exa: simplify CreatePixmap()/DestroyPixmap() handlers error pathes 2025-02-12 17:48:30 +01:00
exa_offscreen.c exa: use dixDestroyPixmap() instead of direct driver call 2025-02-12 17:48:30 +01:00
exa_priv.h include: drop obsolete check for typeof operator 2024-04-22 22:15:45 +00:00
exa_render.c exa: use dixDestroyPixmap() instead of direct driver call 2025-02-12 17:48:30 +01:00
exa_unaccel.c mi: Add a default no-op miSourceValidate 2019-10-30 16:26:01 +00:00
meson.build Add a Meson build system alongside autotools. 2017-04-26 15:25:27 -07:00