You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2006/10/27 16:58:48 UTC
svn commit: r468402 -
/incubator/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/EventDispatcher.java
Author: rickhall
Date: Fri Oct 27 07:58:48 2006
New Revision: 468402
URL: http://svn.apache.org/viewvc?view=rev&rev=468402
Log:
Fixed a bug when removing listeners; it was using the wrong index into the
listener array, so listeners were not being removed, which was inhibiting
garbage collection.
Modified:
incubator/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/EventDispatcher.java
Modified: incubator/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/EventDispatcher.java
URL: http://svn.apache.org/viewvc/incubator/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/EventDispatcher.java?view=diff&rev=468402&r1=468401&r2=468402
==============================================================================
--- incubator/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/EventDispatcher.java (original)
+++ incubator/felix/trunk/framework/src/main/java/org/apache/felix/framework/util/EventDispatcher.java Fri Oct 27 07:58:48 2006
@@ -334,11 +334,11 @@
{
// Check if the bundle associated with the current listener
// is the same as the specified bundle, if so remove the listener.
- Bundle registeredBundle = (Bundle) listeners[LISTENER_BUNDLE_OFFSET];
+ Bundle registeredBundle = (Bundle) listeners[i + LISTENER_BUNDLE_OFFSET];
if (bundle.equals(registeredBundle))
{
- Class clazz = (Class) listeners[LISTENER_CLASS_OFFSET];
- EventListener l = (EventListener) listeners[LISTENER_OBJECT_OFFSET];
+ Class clazz = (Class) listeners[i + LISTENER_CLASS_OFFSET];
+ EventListener l = (EventListener) listeners[i + LISTENER_OBJECT_OFFSET];
removeListener(bundle, clazz, l);
}
}
@@ -351,11 +351,11 @@
{
// Check if the bundle associated with the current listener
// is the same as the specified bundle, if so remove the listener.
- Bundle registeredBundle = (Bundle) listeners[LISTENER_BUNDLE_OFFSET];
+ Bundle registeredBundle = (Bundle) listeners[i + LISTENER_BUNDLE_OFFSET];
if (bundle.equals(registeredBundle))
{
- Class clazz = (Class) listeners[LISTENER_CLASS_OFFSET];
- EventListener l = (EventListener) listeners[LISTENER_OBJECT_OFFSET];
+ Class clazz = (Class) listeners[i + LISTENER_CLASS_OFFSET];
+ EventListener l = (EventListener) listeners[i + LISTENER_OBJECT_OFFSET];
removeListener(bundle, clazz, l);
}
}
@@ -369,11 +369,11 @@
{
// Check if the bundle associated with the current listener
// is the same as the specified bundle, if so remove the listener.
- Bundle registeredBundle = (Bundle) listeners[LISTENER_BUNDLE_OFFSET];
+ Bundle registeredBundle = (Bundle) listeners[i + LISTENER_BUNDLE_OFFSET];
if (bundle.equals(registeredBundle))
{
- Class clazz = (Class) listeners[LISTENER_CLASS_OFFSET];
- EventListener l = (EventListener) listeners[LISTENER_OBJECT_OFFSET];
+ Class clazz = (Class) listeners[i + LISTENER_CLASS_OFFSET];
+ EventListener l = (EventListener) listeners[i + LISTENER_OBJECT_OFFSET];
removeListener(bundle, clazz, l);
}
}
@@ -386,11 +386,11 @@
{
// Check if the bundle associated with the current listener
// is the same as the specified bundle, if so remove the listener.
- Bundle registeredBundle = (Bundle) listeners[LISTENER_BUNDLE_OFFSET];
+ Bundle registeredBundle = (Bundle) listeners[i + LISTENER_BUNDLE_OFFSET];
if (bundle.equals(registeredBundle))
{
- Class clazz = (Class) listeners[LISTENER_CLASS_OFFSET];
- EventListener l = (EventListener) listeners[LISTENER_OBJECT_OFFSET];
+ Class clazz = (Class) listeners[i + LISTENER_CLASS_OFFSET];
+ EventListener l = (EventListener) listeners[i + LISTENER_OBJECT_OFFSET];
removeListener(bundle, clazz, l);
}
}