Bug 285 - Xi: XSelectExtensionEvent does not work on 64-Bit machines
Summary: Xi: XSelectExtensionEvent does not work on 64-Bit machines
Alias: None
Product: xorg
Classification: Unclassified
Component: Lib/Xi (show other bugs)
Version: unspecified
Hardware: Alpha All
: high critical
Assignee: Egbert Eich
QA Contact:
Depends on:
Blocks: 213
  Show dependency treegraph
Reported: 2004-03-08 02:42 UTC by Andreas Luik
Modified: 2007-01-23 20:06 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

fix for XSelectExtensionEvent() on 64-Bit machines (411 bytes, patch)
2004-03-08 02:45 UTC, Andreas Luik
no flags Details | Splinter Review

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".
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.

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.