Pārlūkot izejas kodu

Also detect updates resulting from feature rules rather than update rules

Nils Adermann 13 gadi atpakaļ
vecāks
revīzija
85d38c653f
1 mainītis faili ar 9 papildinājumiem un 2 dzēšanām
  1. 9 2
      src/Composer/DependencyResolver/Solver.php

+ 9 - 2
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;
                     }