--- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/SBSv2ErrorParser.java Tue Jul 06 13:43:39 2010 -0500
+++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/SBSv2ErrorParser.java Tue Jul 06 13:43:56 2010 -0500
@@ -16,11 +16,17 @@
*/
package com.nokia.carbide.cdt.internal.builder.error.parsers;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
import org.eclipse.cdt.core.ErrorParserManager;
import org.eclipse.cdt.core.IMarkerGenerator;
+import org.eclipse.core.runtime.Path;
public class SBSv2ErrorParser extends CarbideBaseErrorParser {
+ private final Pattern msgPattern = Pattern.compile("(.*):(\\d*):(\\d*):(.*)"); //$NON-NLS-1$
+
public SBSv2ErrorParser() {
}
@@ -57,7 +63,7 @@
String text = line.substring(descStart, descEnd);
if (setFirstColon(text)) {
- if (setFileNameAndLineNumber(text)) {
+ if (setFileNameAndLineNumber(text) || setSBSv2FileNameAndLineNumber(text)) {
setFile(errorParserManager);
setDescription(text);
errorParserManager.generateExternalMarker(msgIFile, msgLineNumber, msgDescription, severity, null, externalFilePath);
@@ -80,4 +86,21 @@
}
}
+ protected boolean setSBSv2FileNameAndLineNumber(String line) {
+ // Get the first Substring, which must be in the form of
+ // "fileName:line number:postion"
+ String firstSubstr = line.substring(msgFirstColon + 1).trim();
+ if (firstSubstr != null) {
+ Matcher matcher = msgPattern.matcher(firstSubstr);
+ if (matcher.matches()) {
+ msgFileName = matcher.group(1);
+ if (!Path.EMPTY.isValidPath(msgFileName)) {
+ return false;
+ }
+ msgLineNumber = Integer.parseInt(matcher.group(2));
+ return true;
+ }
+ }
+ return false;
+ }
}
--- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/AbstractSymbianLaunchShortcut.java Tue Jul 06 13:43:39 2010 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/AbstractSymbianLaunchShortcut.java Tue Jul 06 13:43:56 2010 -0500
@@ -157,7 +157,6 @@
public void run() {
final boolean[] event = { false };
Listener listener = new Listener() {
- @Override
public void handleEvent(Event arg0) {
if ((arg0.stateMask & SWT.SHIFT) != 0 || arg0.keyCode == SWT.SHIFT)
pressed[0] = true;
--- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/LaunchPlugin.java Tue Jul 06 13:43:39 2010 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/LaunchPlugin.java Tue Jul 06 13:43:56 2010 -0500
@@ -222,20 +222,19 @@
}
private boolean getExePathsFromProjectAndDetermineIfX86(IProject project, List<IPath> exePaths) {
+ // changed logic to allow paths for executables for !isExecutable(path) for non-x86
+ // this allows new plug-and-play wizard to create attach configs for imported dlls (see bug 11444)
boolean isX86 = false;
ICProject cProject = CoreModel.getDefault().create(project);
if (cProject != null) {
try {
for (IBinary bin : cProject.getBinaryContainer().getBinaries()) {
- if (bin.isExecutable()) {
- IPath path = bin.getResource().getLocation();
-
- if (isEmulatorBinaryPath(path)) {
- isX86 = true;
- }
+ IPath path = bin.getResource().getLocation();
+
+ isX86 = isX86 || isEmulatorBinaryPath(path); // only check once
+ if (!isX86 || bin.isExecutable())
exePaths.add(path);
- }
}
} catch (CModelException e) {
log(e);
--- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/newwizard/DebugRunProcessSection.java Tue Jul 06 13:43:39 2010 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/newwizard/DebugRunProcessSection.java Tue Jul 06 13:43:56 2010 -0500
@@ -76,7 +76,7 @@
}
if (data.getExeSelection().equals(EExeSelection.ATTACH_TO_PROCESS)) {
- data.setInstallPackage(true);
+ data.setInstallPackage(false);
} else {
Boolean detectedSysTrk = data.isSysTRKConnection(); // TRUE, FALSE, or null
boolean isSysTrk = detectedSysTrk == Boolean.TRUE || (detectedSysTrk == null && data.isInternalLayout());