FELIX-4006 during disposal, make sure impl object is available for bind until edge info is set for unbind
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1463766 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java
index daf4583..a78e4a5 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/ImmediateComponentManager.java
@@ -169,8 +169,10 @@
{
S implementationObject = m_implementationObject;
m_useCount.set( 0 );
+ m_tmpImplementationObject = implementationObject;
m_implementationObject = null;
disposeImplementationObject( implementationObject, m_componentContext, reason );
+ m_implementationObject = null;
cleanupImplementationObject( implementationObject );
log( LogService.LOG_DEBUG, "Unset and deconfigured implementation object for component {0} in deleteComponent for reason {1}", new Object[] { getName(), REASONS[ reason ] }, null );
m_componentContext = null;