Fix bug 11592 - mixing executables from variant and non-variant builds in the same SDK is OK RCL_2_4
authorchpeckha
Fri, 09 Jul 2010 16:42:26 -0500
branchRCL_2_4
changeset 1602 c72b1d908826
parent 1598 7f5fae281d7c
child 1605 da256abf7b0a
Fix bug 11592 - mixing executables from variant and non-variant builds in the same SDK is OK
debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java
--- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java	Fri Jul 09 08:28:44 2010 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java	Fri Jul 09 16:42:26 2010 -0500
@@ -418,7 +418,14 @@
 			IPath launchExeTargetPath = new Path(new File(launchExeName).getCanonicalPath()).removeLastSegments(2); 
 			for (Executable executable : ExecutablesManager.getExecutablesManager().getExecutables(true)) {
 				IPath exePath = executable.getPath();
-				if (launchExeTargetPath.isPrefixOf(exePath))
+				// remove last two segments here also (ignore urel, udeb, lib on executables)
+				//  this is so we can match down to the compiler but not beyond:
+				//  y:\epoc32\release\armv5.<variant>\... (for a variant build in raptor) will match
+				//  y:\epco32\release\armv5\... for a non-variant built executable
+				IPath exePathShort = exePath.removeLastSegments(2);
+				String sLaunchExeTargetPath = launchExeTargetPath.toOSString();
+				String sExePath = exePathShort.toOSString();
+				if (sExePath.startsWith(sLaunchExeTargetPath) || sLaunchExeTargetPath.startsWith(sExePath))
 						files.add(new ExeFileToDebug(exePath.toOSString(), true));
 			}
 		} catch (Exception e) {