mirror of
https://gitlab.freedesktop.org/xorg/lib/libxcb.git
synced 2026-05-26 08:38:15 +02:00
The code previously assumed that everything has to be aligned to a 4 byte boundary. This assumption is wrong as e.g. the STR struct from xproto shows. Instead, each type has to be aligned to its natural alignment. So a char doesn't need any alignment, a INT16 gets aligned to a 2-byte-boundary and a INT32 gets the old 4 byte alignment. I'm not 100% sure that this commit is correct, but some quick tests with awesome and cairo-xcb went well. This commit causes lots of dead assignments to xcb_align_to since only the last field's alignment is actually used, but this simplified this patch a lot. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=34037 Signed-off-by: Uli Schlachter <psychon@znc.in> Signed-off-by: Peter Harris <pharris@opentext.com> |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| c_client.py | ||
| Makefile.am | ||
| xcb.h | ||
| xcb_auth.c | ||
| xcb_conn.c | ||
| xcb_ext.c | ||
| xcb_in.c | ||
| xcb_list.c | ||
| xcb_out.c | ||
| xcb_util.c | ||
| xcb_windefs.h | ||
| xcb_xid.c | ||
| xcbext.h | ||
| xcbint.h | ||