Custom Query (152 matches)


Show under each result:

Results (16 - 18 of 152)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Ticket Resolution Summary Owner Reporter
#1107 fixed Please implement somebody guest

Reported by guest, 10 years ago.


The following function: pango_parse_markup () isn't implemented. If anyone tells me how to do it, I'm willing to do it myself (never really touched the FFI before)

#1108 fixed Add Eq instances for all of Graphics.UI.Gtk.Gdk.Enums somebody guest

Reported by guest, 10 years ago.


None of the enumerations in Gdk.Enums are instances of Eq, which makes it cumbersome to check for certain events. For example, I wanted to keep track of the fullscreen state of a window with the following code:

ref <- newIORef False
onWindowState win $ \WindowState { eventWindowState = state } -> do
    writeIORef ref (WindowStateFullscreen `elem` state)
    return True

However, writing the code this way requires an Eq instance; workarounds require either manually defining one or using pattern matching, which is cumbersome because state is a list of WindowState values.

It would be trivial to add deriving (Eq) to these enumerations (and also Read/Show, for debugging purposes).

#1112 fixed "Xlib: unexpected async reply" with threaded RTS and --sync command line parameter somebody guest

Reported by guest, 10 years ago.


A trivial program which uses unsafeInitGUIForThreadedRTS, and doesn't even start additional threads, causes the above error message when started with the "--sync" command line parameter. It has to be compiled with "-threaded", but multithreading doesn't need to be enabled at runtime for the error to occur. The same problem occurs even without the "--sync" parameter, but only in a much more complex program. All the parameter does is tell X to report errors synchronously.

Calling XInitThreads at the start of main makes the error disappear, which indicates that Haskell calls Gtk (which in turn calls X) from multiple OS threads.

The attached archive contains three versions of the same program:

  1. broken.hs prints the error and hangs. Some fierce resizing (i. e. Expose events) may be necessary to trigger the error.
  2. working.hs merely adds a call to XInitThreads and doesn't hang regardless of the amount of resizing.
  3. test.c is an equivalent program in C, which works fine without calling XInitThreads.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Note: See TracQuery for help on using queries.