Hipmunk 5.2.0.10 → 5.2.0.11
raw patch · 2 files changed
+14/−6 lines, 2 filesdep ~containersPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: containers
API changes (from Hackage documentation)
Files
- Hipmunk.cabal +10/−2
- Physics/Hipmunk/Space.hsc +4/−4
Hipmunk.cabal view
@@ -3,7 +3,7 @@ Tested-With: GHC Category: Physics, Game Name: Hipmunk-Version: 5.2.0.10+Version: 5.2.0.11 Stability: provisional License: OtherLicense License-File: LICENSE@@ -20,6 +20,14 @@ Please see <http://hackage.haskell.org/package/HipmunkPlayground> for a demonstration of this library. .+ Version 5.2.0.11:+ .+ * Compatibility with base == 4.6.* (Thanks, Zack Corr!)+ .+ Version 5.2.0.10:+ .+ * Compatibility with base < 4.4+ . New in version 5.2.0.9: . * Added Physics.Hipmunk.Constraint.setMaxBias and setMaxForce.@@ -199,7 +207,7 @@ if flag(small_base) Build-Depends: base >= 3 && < 5, array >= 0.1 && < 0.5,- containers >= 0.1 && < 0.5,+ containers >= 0.1 && < 0.6, transformers >= 0.2 && < 0.4, StateVar >= 1.0 && < 1.1 else
Physics/Hipmunk/Space.hsc view
@@ -178,7 +178,7 @@ in withForeignPtr sp $ \sp_ptr -> withForeignPtr new $ \new_ptr -> do add sp_ptr new_ptr- modifyIORef' entities (M.insert key val)+ modifyIORefStrict entities (M.insert key val) spaceRemoveHelper :: (a -> ForeignPtr b) -> (SpacePtr -> Ptr b -> IO ())@@ -187,15 +187,15 @@ \(P sp entities _) old_c -> do let old = get_ old_c key = unsafeForeignPtrToPtr $ castForeignPtr old- modifyIORef' entities (M.delete key)+ modifyIORefStrict entities (M.delete key) withForeignPtr sp $ \sp_ptr -> withForeignPtr old $ \old_ptr -> remove sp_ptr old_ptr -- | Strict version of modifyIORef (otherwise the thunks -- will keep referencing removed entities).-modifyIORef' :: IORef a -> (a -> a) -> IO ()-modifyIORef' var f = do+modifyIORefStrict :: IORef a -> (a -> a) -> IO ()+modifyIORefStrict var f = do old <- readIORef var let new = f old new `seq` writeIORef var new