mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-04 07:08:19 +02:00
Xlib boilerplate includes cairo-xlib-surface-private.h, so that it can cast the xlib cairo_surface_t to cairo_xlib_surface_t and then mess with some internals of that struct. However, xlib-xcb doesn't use that struct and thus this results in random memory corruption. "Luckily", all the fields that this messes with don't corrupt any fields in cairo_xlib_xcb_surface_t, but instead this writes past the end of the buffer that was returned from malloc. This commit just adds an #if to disable this code section since I have no idea what a proper fix would be. This means that the xlib-fallback backend doesn't actually test any fallbacks with xlib-xcb, however it never did so anyway. If you have any idea how to fix xlib-fallback with xlib-xcb, please speak up. Signed-off-by: Uli Schlachter <psychon@znc.in> |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| cairo-boilerplate-beos.cpp | ||
| cairo-boilerplate-directfb.c | ||
| cairo-boilerplate-drm.c | ||
| cairo-boilerplate-egl.c | ||
| cairo-boilerplate-getopt.c | ||
| cairo-boilerplate-getopt.h | ||
| cairo-boilerplate-glx.c | ||
| cairo-boilerplate-pdf.c | ||
| cairo-boilerplate-private.h | ||
| cairo-boilerplate-ps.c | ||
| cairo-boilerplate-qt.cpp | ||
| cairo-boilerplate-quartz.c | ||
| cairo-boilerplate-scaled-font.h | ||
| cairo-boilerplate-script.c | ||
| cairo-boilerplate-skia.c | ||
| cairo-boilerplate-svg.c | ||
| cairo-boilerplate-system.c | ||
| cairo-boilerplate-system.h | ||
| cairo-boilerplate-test-surfaces.c | ||
| cairo-boilerplate-vg.c | ||
| cairo-boilerplate-wgl.c | ||
| cairo-boilerplate-win32-printing.c | ||
| cairo-boilerplate-win32.c | ||
| cairo-boilerplate-xcb.c | ||
| cairo-boilerplate-xlib.c | ||
| cairo-boilerplate-xlib.h | ||
| cairo-boilerplate.c | ||
| cairo-boilerplate.h | ||
| check-link.c | ||
| make-cairo-boilerplate-constructors.sh | ||
| Makefile.am | ||
| Makefile.sources | ||
| Makefile.win32 | ||
| Makefile.win32.features | ||
| README | ||
This directory provides code that is common to both of cairo's tests suites: * The test suite for correctness in test/ * The test suite for performance in perf/ We call it boilerplate as it consists primarily of the boilerplate code necessary for initializing a backend in order to create a surface for that backend. The code here just might be useful for someone looking to get started writing cairo code to use a particular backend, (but there are no promises that the boilerplate code found here for any particular backend is exemplary).