From 85d38c653fd78541d1448ed80d466da7b919cecc Mon Sep 17 00:00:00 2001 From: Nils Adermann Date: Sat, 29 Oct 2011 19:39:18 +0200 Subject: [PATCH] Also detect updates resulting from feature rules rather than update rules --- src/Composer/DependencyResolver/Solver.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Composer/DependencyResolver/Solver.php b/src/Composer/DependencyResolver/Solver.php index f03ce0823..d2808e386 100644 --- a/src/Composer/DependencyResolver/Solver.php +++ b/src/Composer/DependencyResolver/Solver.php @@ -1089,9 +1089,16 @@ class Solver // !wanted & installed if (!$literal->isWanted() && isset($this->installedPackageMap[$package->getId()])) { - $updateRule = $this->packageToUpdateRule[$package->getId()]; + $literals = array(); - foreach ($updateRule->getLiterals() as $updateLiteral) { + if (isset($this->packageToUpdateRule[$package->getId()])) { + $literals = array_merge($literals, $this->packageToUpdateRule[$package->getId()]->getLiterals()); + } + if (isset($this->packageToFeatureRule[$package->getId()])) { + $literals = array_merge($literals, $this->packageToFeatureRule[$package->getId()]->getLiterals()); + } + + foreach ($literals as $updateLiteral) { if (!$updateLiteral->equals($literal)) { $installMeansUpdateMap[$updateLiteral->getPackageId()] = $package; }