Bug 500873 - [DS] NPE on configuration delete causes performance
Do the null check
Change-Id: Id1d1caa5adb4bfd2e2b5136570ee45e251900f7d
Signed-off-by: Jens Kübler <kuebler@aquintos.com>
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 a6aa146..1536f53 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 @@
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;