From abcd3e8fe3eb4f0812f6c109d7565e64206685d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20G=C3=A5rdebrink?= Date: Wed, 4 Mar 2020 15:49:17 +0100 Subject: [PATCH] Don't delete the child value from managed code --- dotnet/IEC61850forCSharp/MmsValue.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/dotnet/IEC61850forCSharp/MmsValue.cs b/dotnet/IEC61850forCSharp/MmsValue.cs index 4e883fa5..5209dc2d 100644 --- a/dotnet/IEC61850forCSharp/MmsValue.cs +++ b/dotnet/IEC61850forCSharp/MmsValue.cs @@ -547,12 +547,13 @@ namespace IEC61850 if ((elementType == MmsType.MMS_ARRAY) || (elementType == MmsType.MMS_STRUCTURE)) { if ((index >= 0) && (index < Size ())) { - if (elementValue != null) - MmsValue_setElement (valueReference, index, elementValue.valueReference); - else - MmsValue_setElement (valueReference, index, IntPtr.Zero); + if (elementValue != null) { + elementValue.responsableForDeletion = false; + MmsValue_setElement (valueReference, index, elementValue.valueReference); + } else + MmsValue_setElement (valueReference, index, IntPtr.Zero); - } else + } else throw new MmsValueException ("Index out of bounds"); } else