Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundles/org.eclipse.equinox.region.tests/src/org/eclipse/equinox/region/tests/system/RegionSystemTests.java2
-rw-r--r--bundles/org.eclipse.equinox.region/src/org/eclipse/equinox/internal/region/StandardRegionDigraph.java11
2 files changed, 8 insertions, 5 deletions
diff --git a/bundles/org.eclipse.equinox.region.tests/src/org/eclipse/equinox/region/tests/system/RegionSystemTests.java b/bundles/org.eclipse.equinox.region.tests/src/org/eclipse/equinox/region/tests/system/RegionSystemTests.java
index 170c6a0d6..1c13b2bd3 100644
--- a/bundles/org.eclipse.equinox.region.tests/src/org/eclipse/equinox/region/tests/system/RegionSystemTests.java
+++ b/bundles/org.eclipse.equinox.region.tests/src/org/eclipse/equinox/region/tests/system/RegionSystemTests.java
@@ -584,7 +584,7 @@ public class RegionSystemTests extends AbstractRegionSystemTest {
try {
digraph.setDefaultRegion(pp1Region);
assertFalse("IllegalArgumentException not thrown for setting non-existing region as default", true);
- } catch (IllegalArgumentException iae) {
+ } catch (IllegalStateException _) {
assertNull("DefaultRegion is not null", digraph.getDefaultRegion());
}
}
diff --git a/bundles/org.eclipse.equinox.region/src/org/eclipse/equinox/internal/region/StandardRegionDigraph.java b/bundles/org.eclipse.equinox.region/src/org/eclipse/equinox/internal/region/StandardRegionDigraph.java
index 80dabc3a3..4aaa2b162 100644
--- a/bundles/org.eclipse.equinox.region/src/org/eclipse/equinox/internal/region/StandardRegionDigraph.java
+++ b/bundles/org.eclipse.equinox.region/src/org/eclipse/equinox/internal/region/StandardRegionDigraph.java
@@ -247,7 +247,9 @@ public final class StandardRegionDigraph implements BundleIdToRegionMapping, Reg
* {@inheritDoc}
*/
public Region getRegion(long bundleId) {
- return this.bundleIdToRegionMapping.getRegion(bundleId);
+ synchronized (this.monitor) {
+ return this.bundleIdToRegionMapping.getRegion(bundleId);
+ }
}
/**
@@ -484,10 +486,11 @@ public final class StandardRegionDigraph implements BundleIdToRegionMapping, Reg
*/
@Override
public void setDefaultRegion(Region defaultRegion) {
- if (this.regions.contains(defaultRegion) || defaultRegion == null) {
+ synchronized (this.monitor) {
+ if (defaultRegion != null) {
+ checkRegionExists(defaultRegion);
+ }
this.defaultRegion = defaultRegion;
- } else {
- throw new IllegalArgumentException("Can't set " + defaultRegion.toString() + " as default region. It isn't contained in this digraph."); //$NON-NLS-1$//$NON-NLS-2$
}
}

Back to the top