XEventClass is typedef'd as an "unsigned long", therefore, on an Alpha, this is a 64-bit long cardinal. On the other hand, the X11 protocol uses a CARD32 to represent the event class. Therefore, library calls must properly convert from "unsigned long" to "CARD32". XSelect.c This is not properly done in lib/Xi/XSelect.c, where `Data' is used to copy from client data to the X request. This is incorrect. `Data32' must be used instead, as it is already done in all other places, e.g. in lib/Xi/XChgProp.c
Created attachment 130 [details] [review] fix for XSelectExtensionEvent() on 64-Bit machines
Paul and Alan say that this is OK as both HP and SUN are already using this in their trees. I'll put it into the release tree.
Committed to the RELEASE-1 branch.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.