diff options
Diffstat (limited to 'bundles/org.eclipse.osgi/container/src/org/eclipse/osgi')
2 files changed, 6 insertions, 2 deletions
diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxContainerAdaptor.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxContainerAdaptor.java index e6e3a6e34..43098b906 100644 --- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxContainerAdaptor.java +++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/internal/framework/EquinoxContainerAdaptor.java @@ -271,7 +271,7 @@ public class EquinoxContainerAdaptor extends ModuleContainerAdaptor { for (ModuleRevision revision : module.getRevisions().getModuleRevisions()) { Generation generation = (Generation) revision.getRevisionInfo(); if (generation != null) { - ProtectionDomain domain = generation.getDomain(); + ProtectionDomain domain = generation.getDomain(false); if (domain != null) { ((BundlePermissions) domain.getPermissions()).clearPermissionCache(); } diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/BundleInfo.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/BundleInfo.java index ee5caae24..1d903dc81 100644 --- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/BundleInfo.java +++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/storage/BundleInfo.java @@ -317,11 +317,15 @@ public final class BundleInfo { } public ProtectionDomain getDomain() { + return getDomain(true); + } + + public ProtectionDomain getDomain(boolean create) { if (getBundleId() == 0 || System.getSecurityManager() == null) { return null; } synchronized (this.genMonitor) { - if (domain == null) { + if (domain == null && create) { if (revision == null) { throw new IllegalStateException("The revision is not yet set for this generation."); //$NON-NLS-1$ } |