Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 8c2ade9

Browse filesBrowse files
committed
bug #30794 [EventDispatcher] Fix BC/FC layer (chalasr)
This PR was merged into the 4.3-dev branch. Discussion ---------- [EventDispatcher] Fix BC/FC layer | Q | A | ------------- | --- | Branch? | master | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | n/a | License | MIT | Doc PR | n/a Fixes > TypeError: Argument 3 passed to Symfony\Component\EventDispatcher\EventDispatcher::doDispatch() must be an instance of Symfony\Component\EventDispatcher\Event Spotted in lexik/LexikJWTAuthenticationBundle#637 Commits ------- caa0ade [EventDispatcher] Fix BC layer
2 parents fd4146c + caa0ade commit 8c2ade9
Copy full SHA for 8c2ade9

File tree

Expand file treeCollapse file tree

1 file changed

+15
-4
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+15
-4
lines changed

‎src/Symfony/Component/EventDispatcher/EventDispatcher.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/EventDispatcher/EventDispatcher.php
+15-4Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -230,18 +230,29 @@ public function removeSubscriber(EventSubscriberInterface $subscriber)
230230
*/
231231
protected function callListeners(iterable $listeners, string $eventName, $event)
232232
{
233-
$this->doDispatch($listeners, $eventName, $event);
233+
if ($event instanceof Event) {
234+
$this->doDispatch($listeners, $eventName, $event);
235+
236+
return;
237+
}
238+
239+
$stoppable = $event instanceof ContractsEvent || $event instanceof StoppableEventInterface;
240+
241+
foreach ($listeners as $listener) {
242+
if ($stoppable && $event->isPropagationStopped()) {
243+
break;
244+
}
245+
$listener($event, $eventName, $this);
246+
}
234247
}
235248

236249
/**
237250
* @deprecated since Symfony 4.3, use callListeners() instead
238251
*/
239252
protected function doDispatch($listeners, $eventName, Event $event)
240253
{
241-
$stoppable = $event instanceof Event || $event instanceof ContractsEvent || $event instanceof StoppableEventInterface;
242-
243254
foreach ($listeners as $listener) {
244-
if ($stoppable && $event->isPropagationStopped()) {
255+
if ($event->isPropagationStopped()) {
245256
break;
246257
}
247258
$listener($event, $eventName, $this);

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.