mirror of
https://github.com/centau/vide.git
synced 2026-08-20 14:41:37 +00:00
Fix regression with derived sources
This commit is contained in:
parent
4f3fccd3bb
commit
2dc2814d76
3 changed files with 34 additions and 4 deletions
|
|
@ -131,15 +131,16 @@ local update_queue = { n = 0 } :: { n: number, [number]: Node<any> }
|
|||
|
||||
local function evaluate_node<T>(node: Node<T>)
|
||||
if flags.strict then
|
||||
local ok, cur_value, new_value
|
||||
local initial_value = node.cache
|
||||
|
||||
for i = 1, 2 do
|
||||
cur_value = node.cache
|
||||
local cur_value = node.cache
|
||||
|
||||
flush_cleanups(node)
|
||||
destroy_owned(node)
|
||||
|
||||
push_scope(node)
|
||||
ok, new_value = ycall(node.effect :: (T) -> T, cur_value)
|
||||
local ok, new_value = ycall(node.effect :: (T) -> T, cur_value)
|
||||
pop_scope()
|
||||
|
||||
if not ok then
|
||||
|
|
@ -151,7 +152,7 @@ local function evaluate_node<T>(node: Node<T>)
|
|||
node.cache = new_value :: T
|
||||
end
|
||||
|
||||
return cur_value ~= new_value
|
||||
return initial_value ~= node.cache
|
||||
else
|
||||
local cur_value = node.cache
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue