diff options
author | Mikhail Khodjaiants | 2006-01-30 19:48:37 +0000 |
---|---|---|
committer | Mikhail Khodjaiants | 2006-01-30 19:48:37 +0000 |
commit | 29c2e5c8da5705891d5959032922ddcc05fab2c8 (patch) | |
tree | 2617c8d620fad8f215a4762031ccd54e7195d013 /debug/org.eclipse.cdt.debug.core/src/org | |
parent | f96f4300b08299fe78343d8fa3949b2b898f0bb3 (diff) | |
download | org.eclipse.cdt-29c2e5c8da5705891d5959032922ddcc05fab2c8.tar.gz org.eclipse.cdt-29c2e5c8da5705891d5959032922ddcc05fab2c8.tar.xz org.eclipse.cdt-29c2e5c8da5705891d5959032922ddcc05fab2c8.zip |
Bug 125603: Debugger don't stop on breakpoints if src is linked.
Diffstat (limited to 'debug/org.eclipse.cdt.debug.core/src/org')
-rw-r--r-- | debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupDirector.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupDirector.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupDirector.java index d25fce9532e..65a46961b16 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupDirector.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupDirector.java @@ -18,7 +18,9 @@ import org.eclipse.cdt.debug.core.sourcelookup.CDirectorySourceContainer; import org.eclipse.cdt.debug.core.sourcelookup.MappingSourceContainer; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; @@ -62,6 +64,16 @@ public class CSourceLookupDirector extends AbstractSourceLookupDirector { public boolean contains( ICBreakpoint breakpoint ) { try { String handle = breakpoint.getSourceHandle(); + // Check if the breakpoint's resource is a link - we have to handle + // this case differently. + // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=125603 + IMarker marker = breakpoint.getMarker(); + if ( marker != null ) { + IResource resource = marker.getResource(); + if ( resource.isLinked() && resource.getLocation().toOSString().equals( handle ) ) { + return contains( resource.getProject() ); + } + } ISourceContainer[] containers = getSourceContainers(); for ( int i = 0; i < containers.length; ++i ) { if ( contains( containers[i], handle ) ) |