Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Watson2006-07-17 08:50:07 -0400
committerThomas Watson2006-07-17 08:50:07 -0400
commit23de8a4b38b2ffb7b5e507ba77f5c523a37d32fc (patch)
tree523457aa321c674c32c42563c8c21940cfd3687d
parent5675b356eb23a8589a93f50f3ce45776e4ea0776 (diff)
downloadrt.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.java5
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()]);

Back to the top