diff --git a/core/includes/config.inc b/core/includes/config.inc index f6af4ad..6cebc9e 100644 --- a/core/includes/config.inc +++ b/core/includes/config.inc @@ -41,17 +41,17 @@ function config_install_default_config($type, $name) { continue; } $source_storage = new FileStorage($config_dir); - $config_changes['create'] = array(); - // Other extensions may only provide default configuration for configuration - // entities. Static extension settings must not be overridden. - foreach ($config_entity_types as $entity_type => $entity_info) { - $config_changes['create'] = $source_storage->listAll($entity_info['config_prefix'] . '.'); - } - // For the extension being installed, list all configuration objects, and - // ensure that a default configuration of the extension takes precedence (in - // case an identical name appears in another extension). + // For the extension being installed, install all configuration objects. if ($extension == $name) { - $config_changes['create'] = array_merge($config_changes['create'], $source_storage->listAll($extension . '.')); + $config_changes['create'] = $source_storage->listAll($extension . '.'); + } + // Other extensions may only provide default configuration for configuration + // entities. Static settings can neither be provided nor overridden. + else { + $config_changes['create'] = array(); + foreach ($config_entity_types as $entity_type => $entity_info) { + $config_changes['create'] = $source_storage->listAll($entity_info['config_prefix'] . '.'); + } } if (empty($config_changes['create'])) { continue;