Bug 70068
BundleStopper marks non-autostartable bundles as stopped
diff --git a/bundles/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/adaptor/BundleStopper.java b/bundles/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/adaptor/BundleStopper.java
index eb957dd..2f0c1d3 100644
--- a/bundles/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/adaptor/BundleStopper.java
+++ b/bundles/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/core/runtime/adaptor/BundleStopper.java
@@ -67,10 +67,10 @@
// stop all active bundles in the reverse order of Require-Bundle
for (int stoppingIndex = allToStop.length - 1; stoppingIndex >= 0; stoppingIndex--) {
AbstractBundle toStop = (AbstractBundle) context.getBundle(allToStop[stoppingIndex].getBundleId());
+ if (toStop.getBundleId() == 0 || !((EclipseBundleData) toStop.getBundleData()).isAutoStartable())
+ continue;
try {
- if (toStop.getState() != Bundle.ACTIVE || !(toStop instanceof BundleHost) || toStop.getBundleId() == 0)
- continue;
- if (!((EclipseBundleData) toStop.getBundleData()).isAutoStartable())
+ if (toStop.getState() != Bundle.ACTIVE || !(toStop instanceof BundleHost))
continue;
toStop.stop();
} catch (Exception e) {