Commit 0d8cc7bb authored by Michel Dänzer's avatar Michel Dänzer Committed by Michel Dänzer
Browse files

miext/sync: Make struct _SyncObject::initialized fully ABI compatible

With a 32-bit build, putting the initialized field at the end of the
struct bumped the struct size from 20 bytes to 24, changing the layout
of other structs embedding struct _SyncObject. While this would be
acceptable on master, it caused crashes with 1.20.

Making the initialized field a char and putting it in the hole before
the beingDestroyed field restores the 32-bit ABI as well.

Fixes xorg/xserver#892

Reviewed-by: Aaron Plattner's avatarAaron Plattner <>
Reviewed-by: Alex Goins's avatarAlex Goins <>
parent 6036e845
Pipeline #66731 passed with stages
in 5 minutes and 40 seconds
......@@ -43,8 +43,8 @@ struct _SyncObject {
struct _SyncTriggerList *pTriglist; /* list of triggers */
XID id; /* resource ID */
unsigned char type; /* SYNC_* */
unsigned char initialized; /* FALSE if created but not initialized */
Bool beingDestroyed; /* in process of going away */
Bool initialized; /* FALSE if created but not initialized */
typedef struct _SyncCounter {
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment