Commit db923b13 authored by Steffen Michels's avatar Steffen Michels

prevent queuing of output for tasks which are not attached to a session

parent 6e61c820
Pipeline #35477 canceled with stage
......@@ -598,19 +598,24 @@ where
// we have to use the first element to update the type,
// the `b` and `c` type variable is required to be equal for all list elements
args=:[fst: _] =
case (funcs, fst) of
((f, g) :: (a -> b, [b] -> c), _ :: a) = dynamic (g $ fromDynList (dynamic f) args)
_ = abort "corrupt dynamic editor value"
fromDynList :: !Dynamic ![Dynamic] -> [b] | TC b
case funcs of
((f, g) :: (a -> b, [b] -> c)) =
case fromDynList (dynamic f) args of
Just res = dynamic g res
Nothing =
case (funcs, fst) of
((f, g) :: (a -> b, [b] -> c), _ :: a) = dynamic (g $ fromJust $ fromDynList (dynamic f) args)
_ = abort "corrupt dynamic editor value"
_ = abort "corrupt dynamic editor value"
fromDynList :: !Dynamic ![Dynamic] -> Maybe [b] | TC b
fromDynList mapFunc dyns = fromDynList` dyns []
where
fromDynList` [] acc = reverse acc
fromDynList` [] acc = Just $ reverse acc
fromDynList` [dyn : dyns] acc =
case (mapFunc, dyn) of
(mapFunc :: a -> b^, a :: a) = fromDynList` dyns [mapFunc a: acc]
_ = abort "corrupt dynamic editor value"
fromDynList` _ _ = abort "corrupt dynamic editor value"
_ = Nothing
:: E = E.a: E (Editor (DynamicEditorValue a)) & TC a
:: ConsType = Function | List | CustomEditor
......
......@@ -121,6 +121,7 @@ where
= case newResult of
ValueResult value _ change _
| destroyed = (Ok value,iworld)
| isNothing currentSession = (Ok value, iworld)
| otherwise = case compactUIChange change of
//Only queue UI changes if something interesting is changed
NoChange = (Ok value,iworld)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment