Fetch again the current state in the add(List) method, just before invoking calculateStateChanges method.


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1023358 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ComponentImpl.java b/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ComponentImpl.java
index 688203d..8ebecbb 100644
--- a/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ComponentImpl.java
+++ b/dependencymanager/core/src/main/java/org/apache/felix/dm/impl/ComponentImpl.java
@@ -309,6 +309,7 @@
         }
 
         synchronized (m_dependencies) {
+            oldState = m_state;
             // starting the dependency above might have triggered another state change, so
             // we have to fetch the current state again
             newState = new State((List) m_dependencies.clone(), !oldState.isInactive(), m_isInstantiated, m_isBound);