Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/SCRManager.java15
1 files changed, 9 insertions, 6 deletions
diff --git a/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/SCRManager.java b/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/SCRManager.java
index a6aa1461b..1536f536a 100644
--- a/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/SCRManager.java
+++ b/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/SCRManager.java
@@ -438,12 +438,15 @@ public class SCRManager implements ServiceListener, SynchronousBundleListener, C
sc.setState(Component.STATE_UNSATISFIED);
resolver.enableComponents(components);
} else {
- // we can just dispose this SCP
- sc.componentProps.removeElement(scp);
- Vector components = new Vector();
- components.addElement(scp);
- resolver.disposeComponentConfigs(components, ComponentConstants.DEACTIVATION_REASON_CONFIGURATION_DELETED);
- scp.setState(Component.STATE_DISPOSED);
+ // in case it has ever been constructed
+ if (scp != null) {
+ // we can just dispose this SCP
+ sc.componentProps.removeElement(scp);
+ Vector components = new Vector();
+ components.addElement(scp);
+ resolver.disposeComponentConfigs(components, ComponentConstants.DEACTIVATION_REASON_CONFIGURATION_DELETED);
+ scp.setState(Component.STATE_DISPOSED);
+ }
}
}
break;

Back to the top