diff options
author | Thomas Watson | 2006-07-17 12:50:07 +0000 |
---|---|---|
committer | Thomas Watson | 2006-07-17 12:50:07 +0000 |
commit | 23de8a4b38b2ffb7b5e507ba77f5c523a37d32fc (patch) | |
tree | 523457aa321c674c32c42563c8c21940cfd3687d | |
parent | 5675b356eb23a8589a93f50f3ce45776e4ea0776 (diff) | |
download | rt.equinox.framework-23de8a4b38b2ffb7b5e507ba77f5c523a37d32fc.tar.gz rt.equinox.framework-23de8a4b38b2ffb7b5e507ba77f5c523a37d32fc.tar.xz rt.equinox.framework-23de8a4b38b2ffb7b5e507ba77f5c523a37d32fc.zip |
141402 AbstractBundle.getResolutionFailureMessage throws IllegalStateException: The state indicates the bundle is resolved
-rw-r--r-- | bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/PackageAdminImpl.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/PackageAdminImpl.java b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/PackageAdminImpl.java index 0b767981a..8e5c9e66c 100644 --- a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/PackageAdminImpl.java +++ b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/PackageAdminImpl.java @@ -312,8 +312,11 @@ public class PackageAdminImpl implements PackageAdmin { ArrayList bundlesList = new ArrayList(bundleDeltas.length); // get all the bundles that are going to be refreshed for (int i = 0; i < bundleDeltas.length; i++) { + if ((bundleDeltas[i].getType() & BundleDelta.REMOVAL_COMPLETE) != 0 && (bundleDeltas[i].getType() & BundleDelta.REMOVED) == 0) + // this means the bundle was previously pending removal; do not add to list because it was already removed from before. + continue; AbstractBundle changedBundle = framework.getBundle(bundleDeltas[i].getBundle().getBundleId()); - if (changedBundle != null) + if (changedBundle != null && !bundlesList.contains(changedBundle)) bundlesList.add(changedBundle); } AbstractBundle[] refresh = (AbstractBundle[]) bundlesList.toArray(new AbstractBundle[bundlesList.size()]); |