[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