Index: lib/src/graph/transform_node.dart |
diff --git a/lib/src/graph/transform_node.dart b/lib/src/graph/transform_node.dart |
index f715814af03197a0de504a04eac3456bf87494d0..61bab3f258943d925ef0be951fec42fe2f1156e5 100644 |
--- a/lib/src/graph/transform_node.dart |
+++ b/lib/src/graph/transform_node.dart |
@@ -334,6 +334,13 @@ class TransformNode { |
// transformation. |
_restartRun(); |
} else if (input.state.isAvailable) { |
+ if (_state == _State.DECLARED) { |
+ // If we're passing through this input and its contents don't matter, |
+ // update the pass-through controller. |
+ var controller = _passThroughControllers[input.id]; |
+ if (controller != null) controller.setAvailable(input.asset); |
+ } |
+ |
if (_state == _State.DECLARED && _canRunDeclaringEagerly) { |
// If [this] is fully declared but hasn't started applying, this input |
// becoming available may mean that all inputs are available, in which |
@@ -358,6 +365,10 @@ class TransformNode { |
} |
} else { |
if (_forced) input.force(); |
+ |
+ var controller = _passThroughControllers[input.id]; |
+ if (controller != null) controller.setDirty(); |
+ |
if (_state == _State.APPLYING && !_applyController.addedId(input.id) && |
(_forced || !input.isLazy)) { |
// If the input hasn't yet been added to the transform's input stream, |