FELIX-4402 avoid some NPEs if for some reason the deleted config is not actually associated with a component manager
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1602637 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurableComponentHolder.java b/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurableComponentHolder.java
index bf39d2a..bc43e41 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurableComponentHolder.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurableComponentHolder.java
@@ -244,7 +244,7 @@
{
m_factoryPidIndex = null;
}
- if ( !m_enabled )
+ if ( !m_enabled || scm == null )
{
return;
}
@@ -274,14 +274,13 @@
if ( m_factoryPidIndex == null)
{
- if ( reconfigure)
- {
- scms.put(m_singleComponent, mergeProperties( null ));
- }
- else
- {
- scms.put( m_singleComponent, null);
- m_singleComponent = null;
+ if ( m_singleComponent != null ) {
+ if (reconfigure) {
+ scms.put(m_singleComponent, mergeProperties(null));
+ } else {
+ scms.put(m_singleComponent, null);
+ m_singleComponent = null;
+ }
}
}
else