From: Duncan C. <dun...@wo...> - 2007-10-30 00:35:35
|
Sat Oct 20 12:50:00 PDT 2007 Peter Gavin <pg...@gm...> * gstreamer: hopefully fix takeObject & peekObject for real this time takeObject: to be used when a function returns an object that must be unreffed at GC. If the object has a floating reference, the float flag is removed. peekObject: to be used when an object must not be unreffed. A ref is added, and is removed at GC. The floating flag is not touched. hunk ./gstreamer/Media/Streaming/GStreamer/Core/Types.chs 235 - cObjectRef cObject - takeObject cObject + liftM (unsafeCastGObject . GObject . castForeignPtr) $ + do cObjectRef $ castPtr cObject + newForeignPtr (castPtr cObject) objectFinalizer hunk ./gstreamer/Media/Streaming/GStreamer/Core/Types.chs 240 -foreign import ccall unsafe "_hs_gst_object_unfloat" +foreign import ccall unsafe "gst_object_ref" hunk ./gstreamer/Media/Streaming/GStreamer/Core/Types.chs 246 - do cObjectUnfloat + do cObjectUnfloat $ castPtr cObject hunk ./gstreamer/Media/Streaming/GStreamer/Core/Types.chs 248 +foreign import ccall unsafe "_hs_gst_object_unfloat" + cObjectUnfloat :: Ptr () + -> IO () |