diff options
-rw-r--r-- | org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java | 19 | ||||
-rw-r--r-- | org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java | 7 |
2 files changed, 19 insertions, 7 deletions
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java index 3fd04ff38..6ea9afa3e 100644 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java +++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java @@ -28,6 +28,7 @@ import org.eclipse.core.runtime.jobs.ISchedulingRule; import org.eclipse.debug.core.DebugException; import org.eclipse.debug.core.DebugPlugin; import org.eclipse.debug.core.IBreakpointManager; +import org.eclipse.debug.internal.core.BreakpointManager; import org.eclipse.debug.internal.core.DebugCoreMessages; /** @@ -41,17 +42,21 @@ import org.eclipse.debug.internal.core.DebugCoreMessages; public abstract class Breakpoint extends PlatformObject implements IBreakpoint { - static { - // making sure that the BreakpointManager is correctly initialized - // before any breakpoint marker related operation (see bug 54993) - DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(); - } - /** * Underlying marker. */ private IMarker fMarker= null; - + + /** + * Default constructor used to ensure that breakpoint manager is initialized. + */ + public Breakpoint() { + // making sure that the BreakpointManager is correctly initialized + // before any breakpoint marker related operation (see bug 54993) + ((BreakpointManager)DebugPlugin.getDefault().getBreakpointManager()).ensureBreakpointsInitialized(); + } + + /** * @see IBreakpoint#setMarker(IMarker) */ diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java index 4d631c226..cb666a052 100644 --- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java +++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java @@ -394,6 +394,13 @@ public class BreakpointManager implements IBreakpointManager, IResourceChangeLis } /** + * Calls {@link #initializeBreakpoints()} if breakpoints have not yet been initialized. + */ + public void ensureBreakpointsInitialized() { + getBreakpoints0(); + } + + /** * The BreakpointManager waits to load the breakpoints * of the workspace until a request is made to retrieve the * breakpoints. |