diff --git a/src/Composer/EventDispatcher/EventDispatcher.php b/src/Composer/EventDispatcher/EventDispatcher.php index faedb969a..329b00f0a 100644 --- a/src/Composer/EventDispatcher/EventDispatcher.php +++ b/src/Composer/EventDispatcher/EventDispatcher.php @@ -156,8 +156,9 @@ class EventDispatcher $this->pushEvent($event); - $return = 0; + $returnMax = 0; foreach ($listeners as $callable) { + $return = 0; $this->ensureBinDirIsInPath(); if (!is_string($callable)) { @@ -273,6 +274,8 @@ class EventDispatcher } } + $returnMax = max($returnMax, $return); + if ($event->isPropagationStopped()) { break; } @@ -280,7 +283,7 @@ class EventDispatcher $this->popEvent(); - return $return; + return $returnMax; } protected function executeTty($exec)