Update of /cvsroot/gtk2hs/gtk2hs/gtk/Graphics/UI/Gtk/TreeList
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32363/gtk/Graphics/UI/Gtk/TreeList
Modified Files:
TreeSelection.chs.pp TreeView.chs.pp
Log Message:
GObject.chs.pp: change mkDestructor into mkFunPtrDestructor which is a tad
more abstract (hiding the use of IORefs).
General.chs: change use of mkDestructor to mkFunPtrDestructor and no longer
export mkDestructor.
EntryCompletion.chs.pp, TreeSelection.chs.pp, TreeView.chs.pp: change use of
mkDestructor to mkFunPtrDestructor.
Signal.chs-boot2: Following the same pattern for GClosureNotify as for
GDestroyNotify above define a local copy of mkFunPtrDestructor for use
in signal connection functions.
HookGenerator.hs: change use of mkDestructor to mkFunPtrDestructor following
the same pattern as before. This reduces code duplication a bit (saves
about 350 lines of code).
Index: TreeSelection.chs.pp
===================================================================
RCS file: /cvsroot/gtk2hs/gtk2hs/gtk/Graphics/UI/Gtk/TreeList/TreeSelection.chs.pp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- TreeSelection.chs.pp 25 Feb 2005 01:11:37 -0000 1.2
+++ TreeSelection.chs.pp 27 Feb 2005 19:42:06 -0000 1.3
@@ -97,17 +97,16 @@
) where
import Monad (liftM)
-import Data.IORef (newIORef, readIORef, writeIORef)
import System.Glib.FFI
import System.Glib.GList (GList, fromGList, toGList)
+import System.Glib.GObject (mkFunPtrDestructor)
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
{#import Graphics.UI.Gtk.Types#}
{#import Graphics.UI.Gtk.Signals#}
import Graphics.UI.Gtk.General.Enums (SelectionMode(..))
{#import Graphics.UI.Gtk.TreeList.TreeModel#}
import Graphics.UI.Gtk.General.Structs (treeIterSize)
-import Graphics.UI.Gtk.General.General (mkDestructor)
{# context lib="gtk" prefix="gtk" #}
@@ -140,12 +139,7 @@
path <- nativeTreePathGetIndices (NativeTreePath (castPtr tp))
liftM fromBool $ fun path
)
- dRef <- newIORef nullFunPtr
- dPtr <- mkDestructor $ do
- dPtr <- readIORef dRef
- freeHaskellFunPtr dPtr
- freeHaskellFunPtr fPtr
- writeIORef dRef dPtr
+ dPtr <- mkFunPtrDestructor fPtr
{#call tree_selection_set_select_function#} (toTreeSelection ts) fPtr
nullPtr dPtr
Index: TreeView.chs.pp
===================================================================
RCS file: /cvsroot/gtk2hs/gtk2hs/gtk/Graphics/UI/Gtk/TreeList/TreeView.chs.pp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- TreeView.chs.pp 25 Feb 2005 22:53:42 -0000 1.6
+++ TreeView.chs.pp 27 Feb 2005 19:42:06 -0000 1.7
@@ -166,15 +166,13 @@
import Monad (liftM, mapM)
import Maybe (fromMaybe)
-import Data.IORef (newIORef, readIORef, writeIORef)
import System.Glib.FFI
import System.Glib.UTFString
-import Graphics.UI.Gtk.General.General (mkDestructor)
+import System.Glib.GList (GList, fromGList)
+import System.Glib.GObject (makeNewGObject, mkFunPtrDestructor)
import Graphics.UI.Gtk.General.Structs (Point, Rectangle)
-import System.Glib.GObject (makeNewGObject)
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
-import System.Glib.GList (GList, fromGList)
{#import Graphics.UI.Gtk.Types#}
{#import Graphics.UI.Gtk.Signals#}
{#import Graphics.UI.Gtk.TreeList.TreeModel#}
@@ -811,12 +809,7 @@
key <- peekUTFString keyPtr
iter <- createTreeIter itPtr
liftM fromBool $ pred (fromIntegral col) key iter)
- dRef <- newIORef nullFunPtr
- dPtr <- mkDestructor $ do
- dPtr <- readIORef dRef
- freeHaskellFunPtr dPtr
- freeHaskellFunPtr fPtr
- writeIORef dRef dPtr
+ dPtr <- mkFunPtrDestructor fPtr
{#call tree_view_set_search_equal_func#} (toTreeView tv) fPtr
nullPtr dPtr
|