Fix bug 11067 properly
authorEd Swartz <ed.swartz@nokia.com>
Wed, 14 Apr 2010 15:19:56 -0500
changeset 1211 ad0a46b0b85f
parent 1209 c9cbc679eff0
child 1212 7280fbb8f98f
Fix bug 11067 properly
debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/newwizard/DebugRunProcessSection.java
--- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/newwizard/DebugRunProcessSection.java	Tue Apr 13 18:20:31 2010 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/newwizard/DebugRunProcessSection.java	Wed Apr 14 15:19:56 2010 -0500
@@ -60,17 +60,29 @@
 			data.setExeSelectionPath(data.getDefaultExecutable());
 		if (Path.EMPTY.equals(data.getExeSelectionPath()))
 			data.setExeSelection(EExeSelection.ATTACH_TO_PROCESS);
+		
 		ICarbideProjectInfo cpi = CarbideBuilderPlugin.getBuildManager().getProjectInfo(data.getProject());
-		data.setInstallPackage((data.isSysTRKConnection() == Boolean.FALSE  /* but NOT if unknown */
-								|| !data.isInternalLayout())
-				&& !data.getExeSelection().equals(EExeSelection.ATTACH_TO_PROCESS));
+		boolean hasSisInstall = false;
 		if (cpi != null) {
 			ICarbideBuildConfiguration config = cpi.getDefaultConfiguration();
 			for (ISISBuilderInfo info : config.getSISBuilderInfoList()) {
 				IPath sisPath = info.getSigningType() == ISISBuilderInfo.DONT_SIGN ? info.getUnsignedSISFullPath() : info.getSignedSISFullPath();
 				data.setSisPath(sisPath.toOSString());
+				if (info.isEnabled()) {
+					hasSisInstall = true;
+					break;
+				}
 			}
 		}
+		
+		if (data.getExeSelection().equals(EExeSelection.ATTACH_TO_PROCESS)) {
+			data.setInstallPackage(true);
+		} else {
+			Boolean detectedSysTrk = data.isSysTRKConnection(); // TRUE, FALSE, or null
+			boolean isSysTrk = detectedSysTrk == Boolean.TRUE || (detectedSysTrk == null && data.isInternalLayout());
+			data.setInstallPackage(hasSisInstall || !isSysTrk);
+		}
+		
 	}
 
 	@Override