diff --git a/src/runtime/haskell/PGF2/Transactions.hsc b/src/runtime/haskell/PGF2/Transactions.hsc index fce691436..a37599be1 100644 --- a/src/runtime/haskell/PGF2/Transactions.hsc +++ b/src/runtime/haskell/PGF2/Transactions.hsc @@ -164,7 +164,8 @@ createConcrete name (Transaction f) = Transaction $ \c_db c_abstr c_revision c_e alterConcrete :: ConcName -> Transaction Concr () -> Transaction PGF () alterConcrete name (Transaction f) = Transaction $ \c_db c_abstr c_revision c_exn -> withText name $ \c_name -> do - c_concr_revision <- pgf_clone_concrete c_db c_revision c_name c_exn + bracket (pgf_clone_concrete c_db c_revision c_name c_exn) + (pgf_free_concr_revision_ c_db) $ \c_concr_revision -> f c_db c_abstr c_concr_revision c_exn dropConcrete :: ConcName -> Transaction PGF ()