diff --git a/src/runtime/haskell-bind/PGF2.hsc b/src/runtime/haskell-bind/PGF2.hsc index 56f7c0c13..f6bfce25e 100644 --- a/src/runtime/haskell-bind/PGF2.hsc +++ b/src/runtime/haskell-bind/PGF2.hsc @@ -76,6 +76,7 @@ languages p = do fptr <- wrapMapItorCallback (getLanguages ref) (#poke GuMapItor, fn) itor fptr pgf_iter_languages (pgf p) itor nullPtr + freeHaskellFunPtr fptr readIORef ref where getLanguages :: IORef (Map.Map String Concr) -> MapItorCallback @@ -171,6 +172,7 @@ lookupMorpho (Concr concr master) sent = unsafePerformIO $ (#poke PgfMorphoCallback, callback) cback fptr withCString sent $ \c_sent -> pgf_lookup_morpho concr c_sent cback nullPtr + freeHaskellFunPtr fptr readIORef ref fullFormLexicon :: Concr -> [(String, [MorphoAnalysis])]