@@ -68,7 +68,7 @@ public function addListenerService($eventName, $callback, $priority = 0)
68
68
throw new \InvalidArgumentException ('Expected an array("service", "method") argument ' );
69
69
}
70
70
71
- $ this ->listenerIds [$ eventName ][$ callback [ 0 ]. ' :: ' . $ callback [ 1 ] ] = array ($ callback [0 ], $ callback [1 ], $ priority );
71
+ $ this ->listenerIds [$ eventName ][] = array ($ callback [0 ], $ callback [1 ], $ priority );
72
72
}
73
73
74
74
/**
@@ -86,14 +86,15 @@ public function dispatch($eventName, Event $event = null)
86
86
list ($ serviceId , $ method , $ priority ) = $ args ;
87
87
$ listener = $ this ->container ->get ($ serviceId );
88
88
89
- if (!isset ($ this ->listeners [$ eventName ][$ serviceId ])) {
89
+ $ key = $ serviceId .$ method ;
90
+ if (!isset ($ this ->listeners [$ eventName ][$ key ])) {
90
91
$ this ->addListener ($ eventName , array ($ listener , $ method ), $ priority );
91
- } elseif ($ listener !== $ this ->listeners [$ eventName ][$ serviceId ]) {
92
- $ this ->removeListener ($ eventName , array ($ this ->listeners [$ eventName ][$ serviceId ], $ method ));
92
+ } elseif ($ listener !== $ this ->listeners [$ eventName ][$ key ]) {
93
+ $ this ->removeListener ($ eventName , array ($ this ->listeners [$ eventName ][$ key ], $ method ));
93
94
$ this ->addListener ($ eventName , array ($ listener , $ method ), $ priority );
94
95
}
95
96
96
- $ this ->listeners [$ eventName ][$ serviceId ] = $ listener ;
97
+ $ this ->listeners [$ eventName ][$ key ] = $ listener ;
97
98
}
98
99
}
99
100
0 commit comments