Index: Eclipse UI/org/eclipse/ui/actions/AddBookmarkAction.java =================================================================== RCS file: /home/eclipse/org.eclipse.ui/Eclipse UI/org/eclipse/ui/actions/AddBookmarkAction.java,v retrieving revision 1.3 diff -u -r1.3 AddBookmarkAction.java --- Eclipse UI/org/eclipse/ui/actions/AddBookmarkAction.java 3 Oct 2001 21:20:46 -0000 1.3 +++ Eclipse UI/org/eclipse/ui/actions/AddBookmarkAction.java 16 Jan 2002 22:08:36 -0000 @@ -6,6 +6,7 @@ */ import org.eclipse.core.resources.*; import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.help.WorkbenchHelp; @@ -15,6 +16,7 @@ import org.eclipse.ui.internal.misc.Assert; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.widgets.Shell; + import java.util.Iterator; /** @@ -58,8 +60,12 @@ IStructuredSelection selection = getStructuredSelection(); for (Iterator enum = selection.iterator(); enum.hasNext();) { Object o = enum.next(); - if (o instanceof IFile) - createMarker((IFile) o, markerType); + if (o instanceof IAdaptable) { + // don't rely on selection being of type IFile. fixes bug 2296 + Object resource= ((IAdaptable)o).getAdapter(IResource.class); + if (resource instanceof IFile) + createMarker((IFile)resource, markerType); + } } } /**