Security update for Core, with self-updated composer
[yaffs-website] / web / core / lib / Drupal / Core / Entity / EntityReferenceSelection / SelectionPluginManager.php
index 53b43fdc68926f8d98b96fe8f3e0040f569e08d8..cf9bb7e49de8963dd4ff9b114cb67e02fc25adfe 100644 (file)
@@ -39,7 +39,6 @@ class SelectionPluginManager extends DefaultPluginManager implements SelectionPl
     // Initialize default options.
     $options += [
       'handler' => $this->getPluginId($options['target_type'], 'default'),
-      'handler_settings' => [],
     ];
 
     // A specific selection plugin ID was already specified.
@@ -50,6 +49,7 @@ class SelectionPluginManager extends DefaultPluginManager implements SelectionPl
     else {
       $plugin_id = $this->getPluginId($options['target_type'], $options['handler']);
     }
+    unset($options['handler']);
 
     return $this->createInstance($plugin_id, $options);
   }
@@ -92,10 +92,10 @@ class SelectionPluginManager extends DefaultPluginManager implements SelectionPl
    * {@inheritdoc}
    */
   public function getSelectionHandler(FieldDefinitionInterface $field_definition, EntityInterface $entity = NULL) {
-    $options = [
+    $options = $field_definition->getSetting('handler_settings') ?: [];
+    $options += [
       'target_type' => $field_definition->getFieldStorageDefinition()->getSetting('target_type'),
       'handler' => $field_definition->getSetting('handler'),
-      'handler_settings' => $field_definition->getSetting('handler_settings') ?: [],
       'entity' => $entity,
     ];
     return $this->getInstance($options);