From: Duncan C. <dun...@us...> - 2005-07-23 02:10:26
|
Update of /cvsroot/gtk2hs/gtk2hs/gtk/Graphics/UI/Gtk/TreeList In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13706/gtk/Graphics/UI/Gtk/TreeList Modified Files: TreeSelection.chs.pp Log Message: Take advantage of the TreeIter marshaling utility functions. This simplifies the code and eliminates the only uses of foreignFree. Index: TreeSelection.chs.pp =================================================================== RCS file: /cvsroot/gtk2hs/gtk2hs/gtk/Graphics/UI/Gtk/TreeList/TreeSelection.chs.pp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- TreeSelection.chs.pp 22 Jun 2005 16:00:48 -0000 1.9 +++ TreeSelection.chs.pp 23 Jul 2005 02:09:49 -0000 1.10 @@ -182,8 +182,7 @@ treeSelectionGetSelected :: TreeSelectionClass self => self -> IO (Maybe TreeIter) treeSelectionGetSelected self = do - iterPtr <- mallocBytes treeIterSize - iter <- liftM TreeIter $ newForeignPtr iterPtr (foreignFree iterPtr) + iter <- mallocTreeIter res <- {# call tree_selection_get_selected #} (toTreeSelection self) nullPtr @@ -204,9 +203,7 @@ -- iterator in Haskell land somewhere. The TreeModel parameter is not -- passed to the function due to performance reasons. But since it is -- a constant member of Selection this does not matter. - iterPtr <- mallocBytes treeIterSize - copyBytes iterPtr ti treeIterSize - iter <- liftM TreeIter $ newForeignPtr iterPtr (foreignFree iterPtr) + iter <- createTreeIter ti fun iter ) {# call tree_selection_selected_foreach #} |