Hi everybody,

I've got a SIGBUS on sparc/64 bit in ParseClassInfo here:
XListDev.c:126:  B->class = ButtonClass;

the reason is that B->class is an XID which is unsigned long which is 8byte here. B points to an address not divisible by eight because there have been some XAxisInfo's put before it in the *Any-Storage (in previous iterations of the same loop). sizeof(XAxisInfo)=3*sizeof(int) = 0x0C and thus, it breaks the alignment at some point in *Any.

A quick fix that works here is to replace
int resolution
by
long resolution
in struct _XAxisInfo, XInput.h:809

Mabe you'd want to do some union magic here...

Regards

Nicolai

_______________________________________________
xorg@lists.freedesktop.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com

Reply via email to