commit | 761a4491acc7db3c3dceabfeed9efe399fe0e8c3 | [log] [tgz] |
---|---|---|
author | Pierre De Rop <pderop@apache.org> | Sat Oct 16 19:26:25 2010 +0000 |
committer | Pierre De Rop <pderop@apache.org> | Sat Oct 16 19:26:25 2010 +0000 |
tree | 1a02bdcb01a9a9faf7297852937ec786365d7ad0 | |
parent | 82c72a19d6105a14d9ca90b4805c8b5b26632ebd [diff] |
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);