diff --git a/launch/org.eclipse.cdt.launch/ChangeLog b/launch/org.eclipse.cdt.launch/ChangeLog index 1dfc721d276..51c0829ff03 100644 --- a/launch/org.eclipse.cdt.launch/ChangeLog +++ b/launch/org.eclipse.cdt.launch/ChangeLog @@ -1,3 +1,8 @@ +2004-11-11 Alain Magloire + Fix for PR 78441 + * src/org/eclipse/cdt/launch/internal/CPropertyTester.java + * plugin.xml + 2004-11-1 David Inglis Use status handlers to prompt for launch input (process id and core file). diff --git a/launch/org.eclipse.cdt.launch/plugin.xml b/launch/org.eclipse.cdt.launch/plugin.xml index 55ea4336c87..50a1a4eb0ea 100644 --- a/launch/org.eclipse.cdt.launch/plugin.xml +++ b/launch/org.eclipse.cdt.launch/plugin.xml @@ -126,7 +126,7 @@ @@ -146,4 +146,19 @@ id="org.eclipse.cdt.launch.statusHandler.coreFilePrompter"> + + + + + + + + + + + diff --git a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/CPropertyTester.java b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/CPropertyTester.java index 827424b4b72..e1711266f4c 100644 --- a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/CPropertyTester.java +++ b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/CPropertyTester.java @@ -15,6 +15,8 @@ import org.eclipse.cdt.core.model.IBinary; import org.eclipse.cdt.core.model.ICElement; import org.eclipse.core.expressions.PropertyTester; import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.IAdaptable; /** * A property tester that determines if a file is an executable. @@ -36,10 +38,11 @@ public class CPropertyTester extends PropertyTester { * @return true if the target resource has a main method, * false otherwise. */ - private boolean isExecutable(Object target) { + private boolean isExecutable(Object receiver) { ICElement celement = null; - if (target instanceof IFile) { - celement = CoreModel.getDefault().create((IFile) target); + IFile file = (IFile) ((IAdaptable)receiver).getAdapter(IResource.class); + if (file != null) { + celement = CoreModel.getDefault().create(file); } return (celement != null && celement instanceof IBinary); }