diff --git a/core/lib/Drupal/Core/TypedData/Plugin/DataType/Map.php b/core/lib/Drupal/Core/TypedData/Plugin/DataType/Map.php index 374d083..f408e18 100644 --- a/core/lib/Drupal/Core/TypedData/Plugin/DataType/Map.php +++ b/core/lib/Drupal/Core/TypedData/Plugin/DataType/Map.php @@ -94,11 +94,11 @@ public function setValue($values, $notify = TRUE) { // Update any existing property objects. foreach ($this->properties as $name => $property) { - $value = NULL; - if (isset($values[$name])) { - $value = $values[$name]; - } + $value = isset($values[$name]) ? $values[$name] : NULL; $property->setValue($value, FALSE); + // Remove the value from $this->values to ensure it does not contain any + // value for computed properties. + unset($this->values[$name]); } // Notify the parent of any changes. if ($notify && isset($this->parent)) {