From 877a65fe13690c99b9cbc53792d94fb23c4e3981 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Tue, 28 Mar 2023 13:02:31 +0200 Subject: [PATCH] Fix loss of output --- .../WorkflowDefinitionActivity.cs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs b/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs index 3d8402881..aedc761bc 100644 --- a/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs +++ b/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs @@ -110,12 +110,14 @@ public class WorkflowDefinitionActivity : Composite, IInitializable if (output == null) return; - // If there's a block with the same name as the output property, we need to read its value and bind it against our output. - if (!context.ExpressionExecutionContext.Memory.HasBlock(outputDescriptor.Name)) - continue; - - var outputValue = context.ExpressionExecutionContext.Memory.Blocks[outputDescriptor.Name].Value; - context.Set(output, outputValue); + // @Herbert: this caused the variable from being overwritten with null. + // So to reproduce the bad behavior, uncomment these lines and run the test. + + // if (!context.ExpressionExecutionContext.Memory.HasBlock(outputDescriptor.Name)) + // continue; + // + // var outputValue = context.ExpressionExecutionContext.Memory.Blocks[outputDescriptor.Name].Value; + // context.Set(output, outputValue); } // Do we have a complete composite signal that triggered the completion?