From af6a9137510a9d6ee214e041f7155a7774c5e408 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Thu, 11 Nov 2004 21:38:06 +0000 Subject: [PATCH] 2004-11-11 Alain Magloire Fix for PR 78441 * src/org/eclipse/cdt/launch/internal/CPropertyTester.java * plugin.xml --- launch/org.eclipse.cdt.launch/ChangeLog | 5 +++++ launch/org.eclipse.cdt.launch/plugin.xml | 17 ++++++++++++++++- .../cdt/launch/internal/CPropertyTester.java | 9 ++++++--- 3 files changed, 27 insertions(+), 4 deletions(-) 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); }