Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 39b216d

Browse files
committed
[DependencyInjection] Fix issue between decorator and service locator index
1 parent fababe1 commit 39b216d

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

src/Symfony/Component/DependencyInjection/Compiler/DecoratorServicePass.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ public function process(ContainerBuilder $container)
114114
}
115115

116116
$definition->setTags(array_merge($decoratingTags, $definition->getTags()));
117+
$definition->setChanges(array_merge(['original_id' => $inner], $decoratingDefinition->getChanges()));
117118
$decoratingDefinition->setTags($resetTags);
118119
$decoratingDefinitions[$inner] = $definition;
119120
}

src/Symfony/Component/DependencyInjection/Compiler/PriorityTaggedServiceTrait.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ private function findAndSortTaggedServices($tagName, ContainerBuilder $container
8282
} elseif (null === $defaultIndex && $defaultPriorityMethod && $class) {
8383
$defaultIndex = PriorityTaggedServiceUtil::getDefault($container, $serviceId, $class, $defaultIndexMethod ?? 'getDefaultName', $tagName, $indexAttribute, $checkTaggedItem);
8484
}
85-
$index = $index ?? $defaultIndex ?? $defaultIndex = $serviceId;
85+
$index = $index ?? $defaultIndex ?? $defaultIndex = ($definition->getChanges()['original_id'] ?? $serviceId);
8686

8787
$services[] = [$priority, ++$i, $index, $serviceId, $class];
8888
}

0 commit comments

Comments
 (0)