The rewritten EventDispatcher (FELIX-5) was using equals() instead of == to
compare listeners because the old dispatching mechanism also did so. The
difference, however, was that the old mechanism wrapped listeners and
implemented equals() to do an == comparison on the original listener. Since
the new EventDispatcher does not need to wrap listeners, it should just
use == instead of equals(). This modification implements that change.
git-svn-id: https://svn.apache.org/repos/asf/incubator/felix/trunk@432594 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/apache/felix/framework/util/EventDispatcher.java b/framework/src/main/java/org/apache/felix/framework/util/EventDispatcher.java
index b789301..62902fd 100644
--- a/framework/src/main/java/org/apache/felix/framework/util/EventDispatcher.java
+++ b/framework/src/main/java/org/apache/felix/framework/util/EventDispatcher.java
@@ -259,7 +259,7 @@
{
if (listeners[i + LISTENER_BUNDLE_OFFSET].equals(bundle) &&
(listeners[i + LISTENER_CLASS_OFFSET] == clazz) &&
- listeners[i + LISTENER_OBJECT_OFFSET].equals(l))
+ (listeners[i + LISTENER_OBJECT_OFFSET] == l))
{
idx = i;
break;
@@ -427,7 +427,7 @@
{
if (listeners[i + LISTENER_BUNDLE_OFFSET].equals(bundle) &&
(listeners[i + LISTENER_CLASS_OFFSET] == clazz) &&
- listeners[i + LISTENER_OBJECT_OFFSET].equals(l))
+ (listeners[i + LISTENER_OBJECT_OFFSET] == l))
{
if (l instanceof FrameworkListener)
{