From: Axel S. <si...@co...> - 2009-10-30 17:02:14
|
Mon Oct 26 12:23:57 EDT 2009 Axe...@en... * Change the way objects are destructed. hunk ./glib/System/Glib/GObject.chs.pp 37 - objectUnref, hunk ./glib/System/Glib/GObject.chs.pp 105 --- | Decrease the reference counter of an object --- -foreign import ccall unsafe "&g_object_unref" - objectUnref :: FinalizerPtr a - hunk ./glib/System/Glib/GObject.chs.pp 113 - => (ForeignPtr obj -> obj) -- ^ constructor for the Haskell object + => (ForeignPtr obj -> obj, FinalizerPtr obj) + -- ^ constructor for the Haskell object and finalizer C function hunk ./glib/System/Glib/GObject.chs.pp 117 -makeNewGObject constr generator = do +makeNewGObject (constr, objectUnref) generator = do hunk ./glib/System/Glib/GObject.chs.pp 134 - (ForeignPtr obj -> obj) -> IO (Ptr obj) -> IO obj -constructNewGObject constr generator = do + (ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj +constructNewGObject (constr, objectUnref) generator = do hunk ./glib/System/Glib/Types.chs 38 + objectUnref hunk ./glib/System/Glib/Types.chs 41 -import Foreign (ForeignPtr) +import System.Glib.FFI hunk ./glib/System/Glib/Types.chs 47 -mkGObject = GObject +mkGObject = (GObject, objectUnref) hunk ./glib/System/Glib/Types.chs 64 + +-- | Decrease the reference counter of an object +-- +foreign import ccall unsafe "&g_object_unref" + objectUnref :: FinalizerPtr a + |