[Haskell-cafe] X11 package bug: XClientMessageEvent long data
Spencer Janssen
spencerjanssen at gmail.com
Wed Mar 16 18:20:21 CET 2011
On Wed, Mar 16, 2011 at 12:10:59AM -0400, Dylan Alex Simon wrote:
> Does anyone know the current maintenance status of the X11 package? I emailed
> Spencer Janssen a number of months ago and never heard back. So, I'll put
> this here in case any one else runs into it or can get it to the right place.
>
> This is a proposed bug fix for a problem I ran into using xmonad client
> messages to send remote commands on 64LP architectures (i.e., amd64), wherein
> the C X11 library and Haskell's disagree about the size of client message
> arguments.
>
> Tue Nov 16 23:41:49 EST 2010 Dylan Simon <dylan at dylex.net>
> * change XClientMessageEvent long data
>
> The XClientMessageEvent.data.l field is actually a long, not an int, so it must
> be interpreted as such, even though format is set to 32 in this case.
> Ostensibly this is an Xlib bug, but it is unlikely to be fixed there.
> diff -rN -u old-src/Graphics/X11/Xlib/Extras.hsc new-src/Graphics/X11/Xlib/Extras.hsc
> --- old-src/Graphics/X11/Xlib/Extras.hsc 2011-03-15 22:40:39.687844812 -0400
> +++ new-src/Graphics/X11/Xlib/Extras.hsc 2011-03-15 22:40:39.724522814 -0400
> @@ -601,7 +601,7 @@
> 16 -> do a <- peekArray 10 datPtr
> return $ map fromIntegral (a::[Word16])
> 32 -> do a <- peekArray 5 datPtr
> - return $ map fromIntegral (a::[Word32])
> + return $ map fromIntegral (a::[CLong])
> _ -> error "X11.Extras.clientMessage: illegal value"
> return $ ClientMessageEvent
> { ev_event_type = type_
Sorry, I must have missed your message. Send me a darcs patch and I'll see
to applying it.
Cheers,
Spencer Janssen
More information about the Haskell-Cafe
mailing list