|
|
@ -236,16 +236,13 @@ function schedule_possible_effect_self_invalidation(signal, effect, root = true)
|
|
|
|
var reactions = signal.reactions;
|
|
|
|
var reactions = signal.reactions;
|
|
|
|
if (reactions === null) return;
|
|
|
|
if (reactions === null) return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (source_ownership?.reaction === active_reaction && source_ownership.sources.includes(signal)) {
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < reactions.length; i++) {
|
|
|
|
for (var i = 0; i < reactions.length; i++) {
|
|
|
|
var reaction = reactions[i];
|
|
|
|
var reaction = reactions[i];
|
|
|
|
|
|
|
|
|
|
|
|
if (
|
|
|
|
|
|
|
|
source_ownership?.reaction === active_reaction &&
|
|
|
|
|
|
|
|
source_ownership.sources.includes(signal)
|
|
|
|
|
|
|
|
) {
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ((reaction.f & DERIVED) !== 0) {
|
|
|
|
if ((reaction.f & DERIVED) !== 0) {
|
|
|
|
schedule_possible_effect_self_invalidation(/** @type {Derived} */ (reaction), effect, false);
|
|
|
|
schedule_possible_effect_self_invalidation(/** @type {Derived} */ (reaction), effect, false);
|
|
|
|
} else if (effect === reaction) {
|
|
|
|
} else if (effect === reaction) {
|
|
|
|