__color__,__group__,ticket,summary,component,version,milestone,type,owner,status,created,_changetime,_description,_reporter
1,Active Tickets,1203,PackageDB type mismatch in build system,build system,0.11.0,0.11.0,defect,duncan,new,2010-10-24T22:25:55Z+0100,2011-08-30T13:04:27Z+0100,"I tried to ""cabal install gtk"" and I get this:

/tmp/glib-0.11.219918/glib-0.11.2/Gtk2HsSetup.hs:190:70:
    Couldn't match expected type `[PackageDB]'
                with actual type `PackageDB'
    Expected type: PackageDBStack
      Actual type: PackageDB
    In the sixth argument of `registerPackage', namely `packageDb'
    In the expression:
      registerPackage
        verbosity installedPkgInfo pkg lbi inplace packageDb

It works fine if I go into Gtk2HsSetup.hs and replace packageDb with [packageDb], but then I have to change it by hand for cairo, pango, etc. Must be an issue in gtk2hs-buildtools, I think.",guest
3,Active Tickets,1101,parse error in c2hs in gobject.i,C2Hs (Gtk2Hs fork),,,defect,somebody,reopened,2008-01-28T21:40:00Z+0000,2012-11-13T19:10:58Z+0000,"This problem was originally reported as a reply of #1099 but I think it's different.

I have the same problem compiling the development version in ubuntu 7.10 32bit with the official binary distribution of ghc 6.8.2, it seems that the problem is that c2hsLocan can't parse glib-objcet.i, i get the following message, trying to make the glib bindings:

{{{
./tools/c2hs/c2hsLocal +RTS -RTS -C-I/usr/include/glib-2.0 -C-I/usr/lib/glib-2.0/include --cppopts='-include""gtk2hsconfig.h""' --precomp=glib/glib.precomp glib-object.h
En el fichero incluído de /usr/include/glib2.0/glib/gthread.h:32,
de /usr/include/glib-2.0/glib/gasyncqueue.h:30,
de /usr/include/glib-2.0/glib.h:32,
de /usr/include/glib2.0/gobject/gtype.h:26,
de /usr/include/glib-2.0/gobject/gboxed.h:26,
de /usr/include/glib-2.0/glib-object.h:25:
/usr/include/glib-2.0/glib/gutils.h:426:1: aviso: se redefinió ""GLIB_CHECK_VERSION"" En el fichero incluído de <línea deorden>:1: ./gtk2hs-config.h:179:1: aviso: esta es la ubicación de la definición previa c2hsLocal: Error in C header file.
<interno>:1: (column 0) [FATAL]
>>> Lexical error! The character '#' does not fit here.
make[2]: *** [glib/glib.precomp] Error 1 make[2]: se sale del directorio '/home/alberto/tmp/gtk2hs' make[1]: *** glib/System/Glib/Types.hs] Error 2 make[1]: se sale del directorio `/home/alberto/tmp/gtk2hs'}}}",guest
3,Active Tickets,1229,x86_64 problem,C2Hs (Gtk2Hs fork),0.11.0,0.11.0,defect,somebody,new,2011-07-21T11:33:02Z+0100,2011-07-21T11:33:02Z+0100,"Hi, I don't know if you are aware of this problem, or if I'm stupid and can't pass over this
but when I try to install the package I receive this error message:

Linking dist/build/gtk2hsC2hs/gtk2hsC2hs ...
ld: warning: -read_only_relocs cannot be used with x86_64
ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame

I use a MacBook Core Duo. ",guest
1,Active Tickets,1211,"cairo demo in ghci throws ""unknown symbol"" error",Cairo bindings,,,defect,paolo,new,2011-04-03T12:49:15Z+0100,2011-08-11T13:37:25Z+0100,"I successully installed `gtk2hs-0.12.0`, but when trying to run the demo app (`cairo` package) `Drawing.hs`, I get

{{{
Prelude> :load Drawing.hs
[1 of 1] Compiling Main             ( Drawing.hs, interpreted )
Ok, modules loaded: Main.
*Main> main
Loading package transformers-0.2.2.0 ... linking ... done.
Loading package mtl-2.0.1.0 ... linking ... done.
Loading package array-0.3.0.2 ... linking ... done.
Loading package containers-0.4.0.0 ... linking ... done.
Loading package bytestring-0.9.1.10 ... linking ... done.
Loading package Win32-2.2.0.1 ... linking ... done.
Loading package filepath-1.2.0.0 ... linking ... done.
Loading package old-locale-1.0.0.2 ... linking ... done.
Loading package old-time-1.0.0.6 ... linking ... done.
Loading package directory-1.1.0.0 ... linking ... done.
Loading package process-1.0.1.5 ... linking ... done.
Loading package time-1.2.0.3 ... linking ... done.
Loading package random-1.0.0.3 ... linking ... done.
Loading package haskell98-1.1.0.1 ... linking ... done.
Loading package cairo-0.12.0 ... linking ... <interactive>: C:\Users\daniel\AppD
ata\Roaming\cabal\cairo-0.12.0\ghc-7.0.2\HScairo-0.12.0.o: unknown symbol `_cair
o_image_surface_get_data'
ghc.exe: unable to load package `cairo-0.12.0'
*Main>
}}}

Compiling with `ghc --make Drawing.hs -o main` runs OK

But when I try to build i. e. the `Chart` package it fails with the above error.
",guest
3,Active Tickets,1196,Cairo error when running program,Cairo bindings,0.11.0,0.11.0,defect,paolo,new,2010-07-29T06:27:35Z+0100,2010-07-29T06:27:35Z+0100,"Possibly a bug in gtk on windows. GHC 6.12.3 and gtk2hs installed with cabal, running on win7 32 bit. When running a program such as the FastDraw demo, the program crashes with libcairo-2.dll.",guest
3,Active Tickets,1223,No binding yet for gdk_window_create_similar_surface().,Cairo bindings,,0.11.0,enhancement,paolo,new,2011-06-17T18:10:43Z+0100,2011-06-17T18:10:43Z+0100,"It would be really nice if the Graphics.UI.Gtk.Cairo module provided a binding for the [http://developer.gnome.org/gdk/stable/gdk-Cairo-Interaction.html#gdk-window-create-similar-surface gdk_window_create_similar_surface()] API function.
",guest
3,Active Tickets,1208,Bad linking on MacOSX,Cairo bindings,,0.12.0,defect,paolo,new,2010-11-26T16:05:21Z+0000,2010-11-26T16:05:21Z+0000,"Hello, ""cabal install gtk"" succeeds (with warnings).. but it seems to pick up the wrong architecture bindings.

The following is when I try to run the ""Hello World"" example from GHCI.
Loading package cairo-0.12.0 ... can't load .so/.DLL for: Xdmcp (dlopen(/opt/local/lib/libXdmcp.dylib, 9): no suitable image found.  Did find:
	/opt/local/lib/libXdmcp.dylib: mach-o, but wrong architecture)

Env details:
OS: MacOS X Snow Leopard
GHC: 6.12.3
",guest
4,Active Tickets,1180,cairo with X11 without GTK,Cairo bindings,0.11.0,0.11.0,enhancement,paolo,new,2009-12-27T15:32:33Z+0000,2010-09-03T12:18:07Z+0100,"Is it possible? The only way to draw on a screen is via the Graphics.UI.Gtk.Cairo module. Also, can I use the Glitz cairo backend?",guest
3,Active Tickets,1204,cabal install of gconf terminates with 'gconf-2.0 version >=2.0.0 is required',GConf bindings,0.11.0,0.11.0,defect,duncan,new,2010-11-04T23:30:22Z+0000,2010-11-04T23:30:22Z+0000,"I am on Fedora 14 w/ghc 6.12.3. 'cabal install gconf' will terminate with the above message unless rpm package GConf2-devel is also installed.

If this is not the right place to report this, please respond to tsueako@gmail.com so I can continue trying to find the right place.",guest
1,Active Tickets,1209,gtk-0.12.0 fails to install on my setup,"general (Gtk+, Glib)",0.11.0,0.12.0,defect,somebody,new,2011-03-22T13:53:03Z+0000,2011-06-09T22:08:21Z+0100,"I applied [comment:2:ticket:1203 this workaround] manually to the other dependees to compile either, but then saw those

{{{
System\GIO\Volumes\Drive.chs:59:5:
    Not in scope: type constructor or class `DriveStartStopType'

System\GIO\Volumes\Drive.chs:60:5:
    Not in scope: type constructor or class `DriveStartFlags'
}}}

errors when building package `gio`.",guest
3,Active Tickets,1210,castToListStore not exported,"general (Gtk+, Glib)",0.11.0,,defect,somebody,new,2011-03-26T21:35:42Z+0000,2011-03-26T21:43:53Z+0000,"It seems that it would make sense to call castToListStore on the result of treeViewGetModel, but castToListStore, while defined in types, is not exported by Graphics.UI.Gtk.ModelView.ListStore.  gTypeListStore, castToTreeStore, and related functions are also missing.",guest
3,Active Tickets,1212,Button Printf Callback Fails,"general (Gtk+, Glib)",,,defect,somebody,new,2011-04-14T05:21:28Z+0100,2011-04-30T23:16:05Z+0100,"The version was 0.12 (not listed as an option).

If I include any call to printf (from Text.Printf) within a button callback, I get a ""gtk2hs_closure_marshal: uncaught exception"" and the program terminates.  The failure does not seem to happen with other non-button callbacks and it also does not fail for other string printing functions like putStrLn.

The equivalent code in C works fine.  I've attached both a C and haskell version for comparison.",guest
3,Active Tickets,1217,Memory overwritten passing from GHC to GTK using textBufferSetText of the module Graphics.UI.Gtk.Multiline.TextBuffer,"general (Gtk+, Glib)",0.10.2,,defect,somebody,new,2011-04-29T00:15:06Z+0100,2011-04-29T00:15:06Z+0100,"What is the problem:
Gtk2hs allows passing an arbitrary string to textBufferSetText.  This can cause memory to be overwritten, possibly resulting in security vulnerabilities.  It is not clear whether the problem is on the Haskell or GTK side, or if the problem is the result of a mismatch between the Haskell computational model and the GTK computational model.

Here is how I found the problem:
The IDE ""Leksah"" crashed my computer's operating system (Ubuntu 10.10) when I tried to load a large file for editing.  Eclipse, Jedit, kate, etc failed to load the file returning the message that loading the file will cause a buffer overflow.  I recreated the same defect by writing a simple text editor that just loads a file and sends that file to be displayed in a text buffer.  On doing so  with the large file, the system crashed.  Then, to isolate the error, I changed the text editor to only load enough from the file to display; when scrolled to the bottom, more of the file was loaded into the buffer.  On saving, I changed the functionality to save the file back to the disk in fixed length chunks (strictly, though it is not clear there is any effect here).  Indeed, this text editor could open, edit, and save the very large text file that crashed the computer on the first attempts, and which Jedit and Eclipse refused to open.  This suggests that the problem is not in Haskell, but either in the way Haskell connects to GTK or in the way GTK accepts input to textBufferSetText.  Perhaps this memory overflow can be attributed to the way Haskell treats lists and the way C treats strings are mismatched.

Possible Solutions:
Put a check on functions that send data from Haskell control to GTK control.  Make sure they meet predetermined size restrictions.  Alternatively, urge GTK to put checks on functions they can accept.  Or urge GTK to implement ""/usr/bin/less""-style string display functionality; i.e. only send to the display exactly what is needed, regardless of what is ""loaded.""

I am willing to help out in any way that I can.  Please feel free to ask me to do whatever is needed.",guest
3,Active Tickets,1221,Interaction between file monitoring and listStore (probably a memory bug),"general (Gtk+, Glib)",0.11.0,,defect,somebody,new,2011-05-22T20:46:27Z+0100,2011-05-22T20:46:27Z+0100,"In the following code, file monitoring stops working when the
size of the list store is increased to a suitably big value.

This occurs with

 * gtk2hs 0.12.0 release
 * The Glorious Glasgow Haskell Compilation System, version 6.12.3
 * Whatever version of gtk is in Ubuntu Natty

{{{

import System.GIO.File.File
import System.GIO.File.FileMonitor
import qualified Graphics.UI.Gtk as Gtk


main = do
 Gtk.initGUI
 let gfile = fileFromURI ""file:///some file to monitor""
 monitor <- fileMonitorFile gfile [] Nothing
 Gtk.on monitor fileMonitorChanged $ \childFile otherFile evType -> do
        putStrLn $ ""Changed: "" ++ show evType

 model <- Gtk.listStoreNew [0..1000::Int]
 --- file monitoring works works with 100, fails with 1000
 filt <- Gtk.treeModelFilterNew model []
 view <- Gtk.treeViewNewWithModel filt

 Gtk.mainGUI

}}}",guest
3,Active Tickets,1251,ListStore+TreeView leaks memory when destroyed,"general (Gtk+, Glib)",0.12.4,,defect,dmwit,accepted,2012-01-30T07:14:01Z+0000,2013-05-03T02:43:27Z+0100,"Creating a ListStore and TreeView appears to leak the memory used by its rows when the TreeView is destroyed with widgetDestroy. Or perhaps I am doing something incorrectly. I constructed a trivial example that, when a button is clicked, creates TreeView+ListStore and fills it with 10000 randomly generated rows of Strings after destroying the previous TreeView. The Strings appear to never be collected.",guest
3,Active Tickets,1198,Expose necessary functions to set _NET_WM_STRUT_PARTIAL on a window,"general (Gtk+, Glib)",0.11.0,,enhancement,somebody,new,2010-08-01T20:08:45Z+0100,2010-08-01T20:08:45Z+0100,"Hi there!

For the dock of Bluetile ( http://www.bluetile.org/ ) I used Gtk2Hs to create the GUI. That worked fine and I appreciate how straightforward Gtk2Hs made that for me.

However, I ran into problems when I tried to find a way how to set the _NET_WM_STRUT_PARTIAL property on my window which is intended to signal the window manager to reserve space at the edge of the screen for a window. This is very convenient for things like docks and in my case necessary for correct behaviour (see also http://standards.freedesktop.org/wm-spec/wm-spec-latest.html#id2552096 ).

I ended up creating a custom FFI binding to gdk_property_change. The code for that can be found in this repository: http://code.haskell.org/~jav/bluetile-backport/
The files bluetiledock/gdk_property_change_wrapper.c and bluetiledock/BluetileDock.hs are of interest.

To be able to get rid of this workaround in future versions, I would like to request that Gtk2Hs exposes the necessary functions and data types to make this possible without having to resort to FFI.

Best regards,
Jan
",guest
3,Active Tickets,1179,drag-and-drop with IconViews doesn't work with empty destination store,"general (Gtk+, Glib)",0.10.1,0.10.1,defect,somebody,new,2009-12-19T11:25:19Z+0000,2009-12-19T11:45:23Z+0000,"It seems that dragging and dropping something into a model backed by an empty store does not work: no new element is added to the store.  Using some printouts, it seems that the handlers in DragDestIface are not even being called.  Maybe I'm doing something wrong?

As long as the destination store has something in it when the drop happens, the new element will be added.

I've reproduced this behavior in 2 small test cases, using IconViews and TreeViews as the model, and with a ListStore as the backing store.",guest
3,Active Tickets,1181,Filling a TreeView from a background thread,"general (Gtk+, Glib)",0.10.1,0.10.1,defect,somebody,new,2010-01-17T16:31:32Z+0000,2012-01-13T23:36:30Z+0000," 
Hello,

    I try to refresh the content from a TreeView from a background thread 
(created by forkIO). Basically from the background thread I call 
listStoreClear and several listStoreAppend  from the background thread. I also 
use the code from 'Real world Haskell'  
timeoutAddFull (yield >> return True)
                 priorityDefaultIdle 50
So that UI call's has a effect from the background, if I update the text of a 
label from the background thread this seems to work however for my treeview I 
get the error :
<<
There is a disparity between the internal view of the GtkTreeView,
and the GtkTreeModel.  This generally means that the model has changed
without letting the view know.  Any display from now on is likely to
be incorrect.


(Newsreader:31777): Gtk-CRITICAL **: 
gtk_tree_model_sort_convert_iter_to_child_iter: assertion `VALID_ITER 
(sorted_iter, tree_model_sort)' failed

(Newsreader:31777): Gtk-CRITICAL **: 
gtk_tree_model_sort_convert_iter_to_child_iter: assertion `VALID_ITER 
(sorted_iter, tree_model_sort)' failed
Newsreader: user error (ListStore.getRow: iter does not refer to a valid 
entry)
>>

Apparently I do something wrong, so how do you update a TreeView from a 
background thread (in C# or Java we must do the update on the thread of the UI 
but I do not seem to find a function to do this.

Any help is really appreciated.

Thanks

Marc Mertens",guest
3,Active Tickets,1197,Windows/Gtk2hs : Can't load `gtk` package on GHCi,"general (Gtk+, Glib)",0.11.0,0.11.0,defect,somebody,new,2010-07-30T15:47:11Z+0100,2010-07-31T06:00:07Z+0100,"Loading package gtk-0.11.0 ... linking
 ... <interactive>: c:\ghc\ghc-6.10.4\ext-lib\gtk-0.11.0\HSgtk-0.11.0.o: unknown symbol  `__imp__gdk_threads_lock': unable to load package `gtk-0.11.0'' in GHCi.",guest
3,Active Tickets,1200,missing symbols when gtk is built with Quartz backend,"general (Gtk+, Glib)",0.11.0,0.11.0,defect,somebody,new,2010-08-17T23:50:48Z+0100,2010-08-17T23:50:48Z+0100,"On OS X, if using the quartz backend (http://gtk-osx.sourceforge.net/), gtk2hs will build but any programs built with it fail with the message:

{{{
Undefined symbols:
  ""_gdk_x11_drawable_get_xid"", referenced from:
      _s1Spk_info in libHSgtk-0.11.2.a(Structs.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
}}}

The problem seems to be the function ""drawableGetID"" defined in Graphics/UI/Gtk/General/Structs.hsc.  This function calls

{{{
#if !defined(WIN32)
     withForeignPtr drawable gdk_x11_drawable_get_xid
#else
     withForeignPtr drawable gdk_win32_drawable_get_handle
#endif
}}}

but gdk_x11_drawable_get_xid is not exported from the Quartz backend.  Of course gdk_win32_drawable_get_handle isn't available either.

I don't know which function is the correct replacement on Quartz, but just leaving it out allows programs to link and appear to run properly.


",guest
3,Active Tickets,1202,"Any ""IO Pixbuf"" will cause memory leak.","general (Gtk+, Glib)",0.11.0,0.11.0,defect,somebody,new,2010-09-02T12:26:59Z+0100,2010-09-02T12:26:59Z+0100,"Now every function return ""IO Pixbuf"" will cause memory leak.

I attach a simple demo to recur this issue:

module Main where

import Graphics.UI.Gtk
import Graphics.UI.Gtk.Gdk.Pixbuf
import Control.Monad

main = do
  initGUI

  w <- windowNew

  pb <- pixbufNew ColorspaceRgb False 8 1000 1000

  forM_ [1..100] $ \_ -> do
    pixbufScaleSimple pb 1000 1000 InterpNearest
    return ()

  onDestroy w mainQuit
  widgetShowAll w
  mainGUI

not just pixbufScaleSimple, other function like pixbufNewFromFile, pixbufRotateSimple has same problem.

We should think why Pixbuf's are not GC'd with the normal mechanism.  ",guest
3,Active Tickets,1205,cellLayoutSetAttributes on a TreeModelSort leads to crashes,"general (Gtk+, Glib)",0.11.0,0.11.0,defect,somebody,new,2010-11-05T16:33:36Z+0000,2010-11-05T16:35:10Z+0000,"I wanted to make my existing tree view sortable. So I wrapped my ListStore in a TreeModelSort, and assumed that my existing code would work as-is using the wrapped model.

But unfortunately it crashes. By comparing my code to the TreeSort.hs example, I've constructed a test case (attached). Using cellLayoutSetAttributeFunc and manually translating the wrapped iter into an iter on the underlying model, retrieving the row, and using that value works; using cellLayoutSetAttributes to set a callback that receives the value directly crashes with:

** (tree-model-sort-crash:27346): CRITICAL **: gtk2hs_store_get_impl: assertion `GTK2HS_IS_STORE(store)' failed

So this seems like it's probably a bug in either the TreeModelSort binding, or the CustomStore implementation. This occurs with 0.11.0 (in Debian) and darcs head as of a few weeks ago. (I'm on a flakey conference network, so can't pull the very latest.)",guest
3,Active Tickets,1206,gio error on windows: HSgio-0.12.0.o: unknown symbol `_g_app_inf o_get_display_name',"general (Gtk+, Glib)",0.11.0,0.11.0,defect,somebody,new,2010-11-08T15:06:42Z+0000,2011-07-13T02:39:25Z+0100,"Hi,

I'm trying to install chart on windows and it currently fails to install because of the following error:

: C:\Documents and Settings\cdc\Dati applicazioni\cabal\gio-0.12.0\ghc-6.12.3\HSgio-0.12.0.o: unknown symbol `_g_app_info_get_display_name'

The instructions for installing gtk2hs are missing one step: I need to include the mingw path for it to find ""cpp"". This is ""C:\Programmi\Haskell Platform\2010.2.0.0\mingw\bin"" if you have the HP (should I create a ticket for this?).

Apart from that gtk2hs-buildtools, glib, gtk, cairo, gio and pango install fine on windows.

This is with the last release, 0.12. I had a similar error (different unknown symbol) with the previous version, but didn't record it.

Am I missing any something?

Please tell me if you need more information,
Adrian.

P.S.: The bug tracker doesn't yet know of version 0.12 nor of GIO.",guest
3,Active Tickets,1225,Gtk accelerators not working when compiling with -threaded,"general (Gtk+, Glib)",0.11.0,0.11.0,defect,somebody,new,2011-07-02T00:27:49Z+0100,2012-06-26T02:59:36Z+0100,"It seems as if compiling a threaded gtk program breaks the accelerators.

Works:
ghc --make accel.hs

Does not work:
ghc --make -threaded accel.hs

",guest
3,Active Tickets,1233,gtk2hs-buildtools fails to build with alex 3.0.1,"general (Gtk+, Glib)",0.11.0,0.11.0,defect,somebody,new,2011-08-24T16:17:22Z+0100,2011-08-24T16:17:22Z+0100,"[26 of 41] Compiling CLexer           ( dist-ghc/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CLe
xer.hs, dist-ghc/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CLexer.o )

dist-ghc/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CLexer.hs:407:22:
    Not in scope: `alexGetByte'

dist-ghc/build/gtk2hsC2hs/gtk2hsC2hs-tmp/CLexer.hs:441:8:
    Not in scope: `alexGetByte'
",guest
3,Active Tickets,1236,TreeModelFilter crashes,"general (Gtk+, Glib)",0.11.0,0.11.0,defect,somebody,new,2011-09-09T11:52:23Z+0100,2011-09-09T11:52:23Z+0100,"I am getting strange crashed when using a TreeModelFilter in concert
with a TreeStore. 
Whenever I try to add an element to an initially empty
tree store the program will crash with a sig 11 (segfault). Setting the
filter function up to check for iters that are invalid in the child
store and returning False (""do not show"") in this case will prevent this
particular crash from happening. 
Also, when I add two child nodes to an initially child-less node and
try to expand that node afterwards, the program bails out with
""TreeStore.getRow: iter does not refer to a valid entry"".
(This is with gtk2hs version 0.12.0 on GHC 7.0.3, linux amd64 )",guest
3,Active Tickets,1241,malloc: pointer being freed was not allocated,"general (Gtk+, Glib)",0.11.0,0.11.0,defect,somebody,new,2011-11-19T13:36:26Z+0000,2012-04-26T07:59:50Z+0100,"When I run any cairo demo that draws on the screen, I see a frame draw on the screen and then I get a crash like 
{{{
graph(27721) malloc: *** error for object 0x10176a168: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6
}}}

Non-cairo gtk2hs demos work.  Cairo demos like ""text"" which do not try to draw on the screen do not crash

This is with

 * gtk-0.12.1, cairo-0.12.1
 * MacOS X Lion
 * GHC 7.2.1 (generating 64 bit code)

and also with the development versions (gtk-0.12.2, etc)

-- Eric Kow (eric.kow, gmail)",guest
3,Active Tickets,1096,Allow loading pictures from String/ByteString as well as from files,"general (Gtk+, Glib)",0.9.12,0.11.0,enhancement,axel,new,2007-09-28T13:21:26Z+0100,2009-04-24T18:25:13Z+0100,"We have the function

{{{imageNewFromFile :: FilePath -> IO Image}}}

but it'd be nice to have one for loading from already loaded image data:

{{{imageNewFromFileData :: ByteString -> IO Image}}}

This would probably need to use the [http://library.gnome.org/devel/gdk-pixbuf/stable/GdkPixbufLoader.html GdkPixbufLoader] api.

The function name should distinguish between the case where we're supplying an image file format and when we're supplying raw pixel data. There's already a function {{{gdk_pixbuf_new_from_data}}} that takes raw pixel data and meta data describing the pixel data layout.",duncan
3,Active Tickets,1140,gettext support,"general (Gtk+, Glib)",,0.11.0,enhancement,somebody,new,2008-09-01T12:41:18Z+0100,2009-04-24T18:24:29Z+0100,"Hello!

According to http://article.gmane.org/gmane.comp.lang.haskell.gtk2hs/598 Gtk2hs does not have proper support for gettext (localization and i18n) which is pity considering it's the best supported Haskell GUI library.


It would be nice to decide what is required to get it considering remark about i18n module (see the above url).

Any idea?


Sincerely,[[BR]]Gour
",guest
3,Active Tickets,1193,Xinput Extension device,"general (Gtk+, Glib)",0.11.0,0.11.0,enhancement,somebody,new,2010-07-06T14:05:24Z+0100,2010-07-06T14:05:24Z+0100,"Can Gtk2hs support XInput Extension device such as wacom tablet?

When some event like ButtonPressedEvent is fired, extension device information seems to use device field in GdkEvent, but EventM module does not have any routines to deal with it. 

I hope this can be easily implemented. ",guest
3,Active Tickets,1220,Add g_object_notify binding,"general (Gtk+, Glib)",0.11.0,0.11.0,enhancement,somebody,new,2011-05-12T04:22:57Z+0100,2011-05-12T04:22:57Z+0100,"This binding is necessary for some Gtk events. For instance, the signal for the user sliding a Paned's slider is ""notify::position"", which needs to be registered with g_object_notify.",guest
3,Active Tickets,1237,"Add instance Ord GObject (Object, Widget, etc...)","general (Gtk+, Glib)",0.11.0,0.11.0,enhancement,somebody,new,2011-09-19T06:30:06Z+0100,2011-09-19T06:30:06Z+0100,"Easy as ForeignPtrs have this instance already.
Required to make Sets and Maps of gtk2hs objects.",guest
3,Active Tickets,1199,Can't load cario-0.11.1,"general (Gtk+, Glib)",0.11.0,0.11.1,defect,somebody,new,2010-08-17T05:59:22Z+0100,2010-08-17T05:59:22Z+0100,"I have installed Gtk2Hs 0.11.2 on my Dell610, and load my codes into ghci, it's ok, when execute ""main"", ghci will loading package cario-0.11.1 failing and waiting and waiting...

D:\learn\haskell\gtk>ghci HelloGtk01.hs
GHCi, version 6.12.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package ffi-1.0 ... linking ... done.
[1 of 1] Compiling Main             ( HelloGtk01.hs, interpreted )
Ok, modules loaded: Main.
*Main> main
Loading package syb-0.1.0.2 ... linking ... done.
Loading package base-3.0.3.2 ... linking ... done.
Loading package mtl-1.1.0.2 ... linking ... done.
Loading package array-0.3.0.1 ... linking ... done.
Loading package containers-0.3.0.0 ... linking ... done.
Loading package bytestring-0.9.1.7 ... linking ... done.
Loading package Win32-2.2.0.2 ... linking ... done.
Loading package filepath-1.1.0.4 ... linking ... done.
Loading package old-locale-1.0.0.2 ... linking ... done.
Loading package old-time-1.0.0.5 ... linking ... done.
Loading package directory-1.0.1.2 ... linking ... done.
Loading package process-1.0.1.3 ... linking ... done.
Loading package time-1.2.0.3 ... linking ... done.
Loading package random-1.0.0.2 ... linking ... done.
Loading package haskell98 ... linking ... done.
Loading package cairo-0.11.1 ...

my OS is Windows XP, pkg-config --cflags gtk+-2.0 is OK.

the following is my codes:
module Main where
import Graphics.UI.Gtk
main = do
  initGUI
  window <- windowNew
  widgetShowAll window
  onDestroy window mainQuit
  mainGUI",guest
3,Active Tickets,1213,set mouse cursor,"general (Gtk+, Glib)",,0.12.0,defect,somebody,new,2011-04-17T18:35:30Z+0100,2011-04-17T18:35:30Z+0100,"I would like to set the mouse cursor in haskell. In gtk I have found function `gdk_window_set_cursor` for this. But in gtk2hs, it seems, there's no function for this.",guest
3,Active Tickets,1214,"Build fails with ghc 7.0.3 from Haskell Platform, Mac OS Snow Leopard","general (Gtk+, Glib)",,0.12.0,defect,somebody,new,2011-04-17T18:48:17Z+0100,2011-04-17T18:48:17Z+0100,"The output of cabal install gtk2hs-buildtools -v is:

{{{
Reading available packages...
Resolving dependencies...
In order, the following would be installed:
gtk2hs-buildtools-0.12.0 (new package)
Extracting
/Users/anand/Library/Haskell/repo-cache/hackage.haskell.org/gtk2hs-buildtools/0.12.0/gtk2hs-buildtools-0.12.0.tar.gz
to
/var/folders/l-/l-eZVRT5FTCUeVfqhBz46U+++TI/-Tmp-/gtk2hs-buildtools-0.12.033930...
Configuring gtk2hs-buildtools-0.12.0...
Flags chosen: closuresignals=True
Dependency array ==0.3.0.2: using array-0.3.0.2
Dependency base ==4.3.1.0: using base-4.3.1.0
Dependency containers ==0.4.0.0: using containers-0.4.0.0
Dependency directory ==1.1.0.0: using directory-1.1.0.0
Dependency filepath ==1.2.0.0: using filepath-1.2.0.0
Dependency haskell98 ==1.1.0.1: using haskell98-1.1.0.1
Dependency pretty ==1.0.1.2: using pretty-1.0.1.2
Dependency process ==1.0.1.5: using process-1.0.1.5
Warning: This package indirectly depends on multiple versions of the same
package. This is highly likely to cause a compile failure.
package haskell98-1.1.0.1 requires process-1.0.1.5
package gtk2hs-buildtools-0.12.0 requires process-1.0.1.5
Using Cabal-1.10.1.0 compiled by ghc-7.0
Using compiler: ghc-7.0.3
Using install prefix:
/Users/anand/Library/Haskell/ghc-7.0.3/lib/gtk2hs-buildtools-0.12.0
Binaries installed in:
/Users/anand/Library/Haskell/ghc-7.0.3/lib/gtk2hs-buildtools-0.12.0/bin
Libraries installed in:
/Users/anand/Library/Haskell/ghc-7.0.3/lib/gtk2hs-buildtools-0.12.0/lib
Private binaries installed in:
/Users/anand/Library/Haskell/ghc-7.0.3/lib/gtk2hs-buildtools-0.12.0/libexec
Data files installed in:
/Users/anand/Library/Haskell/ghc-7.0.3/lib/gtk2hs-buildtools-0.12.0/share
Documentation installed in:
/Users/anand/Library/Haskell/ghc-7.0.3/lib/gtk2hs-buildtools-0.12.0/doc
Using alex version 2.3.5 found on system at: /usr/bin/alex
Using ar found on system at: /usr/bin/ar
No c2hs found
No cpphs found
No ffihugs found
Using gcc version 4.2.1 found on system at: /usr/bin/gcc
Using ghc version 7.0.3 found on system at: /usr/bin/ghc
Using ghc-pkg version 7.0.3 found on system at: /usr/bin/ghc-pkg
No greencard found
Using haddock version 2.9.2 found on system at: /usr/bin/haddock
Using happy version 1.18.6 found on system at: /usr/bin/happy
No hmake found
Using hsc2hs version 0.67 found on system at: /usr/bin/hsc2hs
No hscolour found
No hugs found
No jhc found
Using ld found on system at: /usr/bin/ld
No lhc found
No lhc-pkg found
No nhc98 found
Using pkg-config version 0.25 found on system at: /opt/local/bin/pkg-config
Using ranlib found on system at: /usr/bin/ranlib
Using strip found on system at: /usr/bin/strip
Using tar found on system at: /usr/bin/tar
No uhc found
Creating dist/build (and its parents)
Creating dist/build/autogen (and its parents)
Preprocessing executables for gtk2hs-buildtools-0.12.0...
Building gtk2hs-buildtools-0.12.0...
Building executable gtk2hsTypeGen...
Creating dist/build/gtk2hsTypeGen (and its parents)
Creating dist/build/gtk2hsTypeGen/gtk2hsTypeGen-tmp (and its parents)
/usr/bin/ghc --make -o dist/build/gtk2hsTypeGen/gtk2hsTypeGen -hide-all-packages -fbuilding-cabal-package -package-conf dist/package.conf.inplace -i -idist/build/gtk2hsTypeGen/gtk2hsTypeGen-tmp -ihierarchyGen -idist/build/autogen -Idist/build/autogen -Idist/build/gtk2hsTypeGen/gtk2hsTypeGen-tmp -optP-include -optPdist/build/autogen/cabal_macros.h -odir dist/build/gtk2hsTypeGen/gtk2hsTypeGen-tmp -hidir dist/build/gtk2hsTypeGen/gtk2hsTypeGen-tmp -stubdir dist/build/gtk2hsTypeGen/gtk2hsTypeGen-tmp -package-id array-0.3.0.2-143060371bda4ff52c270d1067551fe8 -package-id base-4.3.1.0-f5c465200a37a65ca26c5c6c600f6c76 -package-id containers-0.4.0.0-b4885363abca642443ccd842502a3b7e -package-id directory-1.1.0.0-1ea434899f49294b2eb2d1e1ba551982 -package-id filepath-1.2.0.0-b4f4cf7e95546b00f075372f0ccb0653 -package-id haskell98-1.1.0.1-150131ea75216886448a7146c9e0526b -package-id pretty-1.0.1.2-f8dc299a95cc94a3e513e27c5b80f951 -package-id process-1.0.1.5-7c9fb34b89d8d7848a51a3a9ba1a77f8 -O -XHaskell98 hierarchyGen/TypeGen.hs
<command line>: cannot satisfy -package-id process-1.0.1.5-7c9fb34b89d8d7848a51a3a9ba1a77f8: 
    process-1.0.1.5-7c9fb34b89d8d7848a51a3a9ba1a77f8 is shadowed by package process-1.0.1.5-3e412eee765d141be15796c32f22f7a3
    (use -v for more information)
World file is already up to date.
cabal: Error: some packages failed to install:
gtk2hs-buildtools-0.12.0 failed during the building phase. The exception was:
ExitFailure 1
}}}

Thanks,
Anand",guest
3,Active Tickets,1224,Why not upload the newest code in darcs repos to hackage?,"general (Gtk+, Glib)",0.11.0,0.12.0,defect,somebody,new,2011-06-23T07:16:16Z+0100,2011-06-23T07:16:16Z+0100,"When I build webkit from hackage, it fails and report cannot find ""System.Glib.GString"". I found out that this module is in the glib darcs repository, seems to be patched by this guy. [http://blog.gmane.org/gmane.comp.lang.haskell.gtk2hs.devel]

Why not merge this patch to hackage, so that building webkit would not fail.",guest
3,Active Tickets,1285,widgetQueueDraw leaking memory on Windows,"general (Gtk+, Glib)",0.12.4,0.13.0,defect,somebody,new,2013-05-03T20:44:23Z+0100,2013-05-03T20:44:23Z+0100,"On Windows (7, 32bits and 64bits) this simple program will leak memory very quickly, more than 1Mb/s.

{{{
import Graphics.UI.Gtk

main :: IO ()
main = do
    initGUI
    window <- windowNew
    onDestroy window mainQuit
    onExpose window (\_ -> widgetQueueDraw window >> return True)
    widgetShowAll window
    mainGUI
}}}


Thinking it was a bug in my code, I asked on Stackoverflow, and it seems like the issue doesn't happen on Linux.

http://stackoverflow.com/questions/16178219/why-is-this-minimal-gtk2hs-program-leaking-memory",guest
3,Active Tickets,1226,castToSpinner not available,"general (Gtk+, Glib)",0.11.0,1.0,defect,somebody,new,2011-07-07T16:40:32Z+0100,2011-07-07T16:43:26Z+0100,"I'm using Glade and I want a spinner in a UI.  But castToSpinner doesn't exist or is hidden somewhere, so I can't access a spinner from a Builder object.",guest
3,Active Tickets,1167,Think about resource management,"general (Gtk+, Glib)",0.10.2,1.0,task,axel,new,2009-05-14T10:15:34Z+0100,2010-05-25T23:12:52Z+0100,"It is very easy to get a memory leak. For example these buttons will never get freed:
{{{
    replicateM_ 1234 $ do
        b <- buttonNew
        onStateChanged b $ \_ -> widgetGetSize b >>= print
}}}

You can correct this example with eventGetWindow, but that doesn't apply to signals.

The memory leaks in a typical app are small. However, avoiding these leaks may involve API changes so it's important to think about. I suggest, at least, an explicit ""objectUnref"" action that cancels the finalizer. Then app writers can take care of memory management.

As a nicer API, since a UI is just a tree, perhaps Containers could automatically manage the refs for their children.",guest
3,Active Tickets,1095,add Glade.xmlNewFromString,Glade bindings,0.11.0,0.11.0,enhancement,axel,new,2007-03-09T04:23:45Z+0000,2009-04-24T18:30:46Z+0100,There's a libglade function {{{glade_xml_new_from_buffer}}} so we could provide a method to build a glade xml object from a {{{ByteString}}} or a {{{String}}},duncan
3,Active Tickets,1218,Gstreamer Structures and Caps: parent_refcount == NULL,gstreamer,0.11.0,,defect,pgavin,new,2011-05-05T14:07:18Z+0100,2012-02-02T16:04:58Z+0000,"I would like to create a capability gobject as described in [0] or in [1] but my Haskell program is triggering GStreamer-CRITICAL errors:

(<unknown>:6404): GStreamer-CRITICAL **: gst_caps_append_structure: assertion `structure->parent_refcount == NULL' failed
EMPTY

attached is a sample C program and its Haskell counterpart.

[0]: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-data-spoof.html
[1]: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-appsrc.html#gst-app-src-set-caps",guest
3,Active Tickets,1120,UTF8-Bytestring Pango interface.,Pango bindings,0.9.12,,enhancement,axel,new,2008-04-29T22:12:52Z+0100,2009-04-24T22:10:52Z+0100,"Pango interface currently jumps through hoops to provide a String-based interface for pango functions. If (like in Yi) the user code uses UTF8 internally, it is harmful both from a performance and ease-of-use point of view. (Offsets have to be corrected twice in opposite directions)

It would be useful (and perhaps not too difficult) to provide an interface directly based on (UTF8) bytestrings.",guest
3,Active Tickets,1191,Reinstate the getWindowTick facility for Graphics.SOE.Gtk module,SOE package,0.11.0,0.11.0,defect,duncan,new,2010-05-30T01:51:30Z+0100,2010-06-16T22:03:47Z+0100,"This patch reinstates the original timing facility described in The Haskell School of Expression; for some reason, the gtk2hs instantiation of the SOEGraphics module did not implement this feature, and as a result, all graphics animations end up devouring CPU time needlessly.  Paul Hudak has approved this patch in principle (though may not have looked at it in detail) and would certainly appreciate it being applied to the gtk2hs package.

Of course, this is released to the gtk2hs project with the same license as the soegtk module (LGPL).

Many thanks!

Julian Gilbey",guest
3,Active Tickets,1161,"configure.ac requires gtksourceview-2.0.2, code needs 2.2",SourceView bindings,0.9.12,0.12.0,defect,axel,new,2009-04-05T12:16:22Z+0100,2010-05-25T22:56:50Z+0100,"When compiling gtk2hs-0.10.0 I get this error (which does not kill the build?!):

{{{
./tools/c2hs/c2hsLocal +RTS -RTS -iglib:gtk:gtksourceview2 --precomp=gtksourceview2/gtksourceview2.precomp -o gtksourceview2/Graphics/UI/Gtk/SourceView/SourceMark.hs gtksourceview2/Graphics/UI/Gtk/SourceView/SourceMark.chs
c2hsLocal: Errors during expansion of binding hooks:

gtksourceview2/Graphics/UI/Gtk/SourceView/SourceMark.chs:50: (column 27) [ERROR] 
  >>> Unknown identifier!
  Cannot find a definition for `source_mark_get_category' in the header file.
gtksourceview2/Graphics/UI/Gtk/SourceView/SourceMark.chs:59: (column 42) [ERROR] 
  >>> Unknown identifier!
  Cannot find a definition for `source_mark_next' in the header file.
gtksourceview2/Graphics/UI/Gtk/SourceView/SourceMark.chs:65: (column 42) [ERROR] 
  >>> Unknown identifier!
  Cannot find a definition for `source_mark_prev' in the header file.
}}}

Eventually I run into this error:
{{{
/usr/bin/ghc +RTS -RTS -split-objs -c gtksourceview2/Graphics/UI/Gtk/SourceView.hs -o gtksourceview2/Graphics/UI/Gtk/SourceView.o -O -XForeignFunctionInterface -igtksourceview2 -package-conf package.conf.inplace -hide-all-packages -ignore-package gtksourceview2 -package base-4.1.0.0 -package glib-0.10.0 -package gtk-0.10.0 -package-name gtksourceview2-0.10.0 '-#include<gtksourceview2.h>' -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/atk-1.0 -I/usr/include/gtksourceview-2.0 -I/usr/include/gtk-2.0 -I/usr/include/libxml2 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -Igtksourceview2

gtksourceview2/Graphics/UI/Gtk/SourceView.hs:12:0:
    Failed to load interface for `Graphics.UI.Gtk.SourceView.SourceBuffer':
      Use -v to see a list of the files searched for.
}}}

{{{source_mark_get_category}}}, {{{source_mark_next}}}, {{{source_mark_prev}}} are all available from gtksourceview-2.2, according to the upstream docs.
These functions are exposed through the API, but not used within gtk2hs.
There are more functions used for all gtksourceview versions, except they only came with 2.2.

./configure.ac is satisfied with gtksourceview-2.0.2, which is what I had installed.
Should the version dep be adjusted, or the code patched ({{{foo_CHECK_VERSION}}})?

Lennart Kolmodin",guest
1,Active Tickets,1235,"webkit-0.12.2 cannot built, misses System.Glib.GString",Webkit,,,defect,cjacker,new,2011-08-28T18:48:02Z+0100,2011-08-28T18:48:02Z+0100,"Hi,

webkit-0.12.2 uses System.Glib.GString which is not shipped in the latest released glib (0.12.0):

{{{
Building webkit-0.12.2...

Graphics/UI/Gtk/WebKit/WebDataSource.chs:68:8:
    Could not find module `System.Glib.GString':
      Use -v to see a list of the files searched for.
}}}

Greetings,
Joachim",guest
3,Active Tickets,1240,consoleMessage arguments problem,Webkit,0.11.0,0.11.0,defect,cjacker,new,2011-11-05T03:08:48Z+0000,2011-11-05T03:08:48Z+0000,"Too many arguments for {{{`consoleMessage'}}}, probably first '''String''' is unnecessary.

Minor changes in `marshal.list` and `WebView.chs` fixed it for me (at least ""{{{webView `on` consoleMessage $ ...}}}"" can catch {{{`console.log'}}} from javascript-code).

webkit-0.12.3",guest
3,Active Tickets,1249,webkit_get_default_session in the Haskell webkit bindings,Webkit,0.11.0,0.11.0,enhancement,cjacker,new,2012-01-08T02:15:19Z+0000,2012-01-08T02:15:19Z+0000,"Please wrap webkit_get_default_session in the Haskell webkit bindings; see

https://github.com/k0ral/hbro/issues/3",guest
3,Active Tickets,1201,Hover signal segfault,Webkit,0.11.0,0.11.1,defect,cjacker,new,2010-08-26T22:05:15Z+0100,2010-08-26T22:09:28Z+0100,hoveringOverLink signal sometimes (when leaving the hover) have NULL pointers for CString and should not be converted as String but as Maybe String as the comment suggest.,guest
3,Active Tickets,1250,script* events,Webkit,0.11.0,0.12.0,defect,dmwit,accepted,2012-01-28T21:28:35Z+0000,2013-04-13T07:55:35Z+0100,"scriptAlert is declared as:
scriptAlert = Signal (connect_OBJECT_STRING__BOOL ""scriptAlert"")

I think it should be ""script_alert"". Also scriptConfirm doesn't work, but I can't find a cause. It's just quit an application without any error.",guest
