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;