on develop help sign in
Fix part of #72
d31c93cRyan Trinkle
src/Reflex/Dom/PerformEvent/Base.hs+4−2
@@ -58,8 +58,10 @@ instance (ReflexHost t, Ref m ~ Ref IO, MonadRef (HostFrame t), Ref (HostFrame t
58instance (ReflexHost t, Monad (HostFrame t), MonadRef (HostFrame t), Ref (HostFrame t) ~ Ref IO, Ref m ~ Ref IO) => Deletable t (PerformEventT t m) where
58instance (ReflexHost t, Monad (HostFrame t), MonadRef (HostFrame t), Ref (HostFrame t) ~ Ref IO, Ref m ~ Ref IO) => Deletable t (PerformEventT t m) where
59 {-# INLINABLE deletable #-}
59 {-# INLINABLE deletable #-}
60 deletable d a = PerformEventT $ do
60 deletable d a = PerformEventT $ do
61− (result, eventToPerform) <- lift $ runPerformEventT a
61+ (result, reverseEventsToPerform) <- lift $ runStateT (unPerformEventT a) []
62+ let (numberedEvents, _) = numberWith (\n e -> Const2 n :=> e) (reverse reverseEventsToPerform) (1 :: Word64)
63+ eventToPerform <- lift $ mergePerformEventsAndAdd (DMap.fromList numberedEvents) never
62− modify (align (fmap (PerformEventT . lift) eventToPerform) d :)
64+ modify (align eventToPerform d :)
63 return result
65 return result
64
66
65instance ReflexHost t => MonadReflexCreateTrigger t (PerformEventT t m) where
67instance ReflexHost t => MonadReflexCreateTrigger t (PerformEventT t m) where