|Summary:||Xi: XSelectExtensionEvent does not work on 64-Bit machines|
|Product:||xorg||Reporter:||Andreas Luik <luik>|
|Component:||Lib/Xi||Assignee:||Egbert Eich <eich>|
|Status:||RESOLVED FIXED||QA Contact:|
|i915 platform:||i915 features:|
|Bug Depends on:|
Description Andreas Luik 2004-03-08 02:42:36 UTC
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
Comment 1 Andreas Luik 2004-03-08 02:45:01 UTC
Created attachment 130 [details] [review] fix for XSelectExtensionEvent() on 64-Bit machines
Comment 2 Egbert Eich 2004-03-08 09:13:01 UTC
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.
Comment 3 Egbert Eich 2004-03-11 08:01:38 UTC
Committed to the RELEASE-1 branch.