Bug 153552 [LinkedResources] LinkedResourceDecorator shows wrong decoration for non-local targets
LinkedResourceDecorator.decorate uses resource.getLocation to check if the target of a link exists. This returns null when the target is on a non-local (EFS) filesystem, and as a consequence linked resources pointing to non-local files or folders are displayed with a warning overlay. It seems that using getLocationURI instead would fix the problem?
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/LinkedResourceDecorator.java
private static final ImageDescriptor LINK_WARNING;
    static {
        LINK = AbstractUIPlugin.imageDescriptorFromPlugin(
                IDEWorkbenchPlugin.IDE_WORKBENCH,
                "$nl$/icons/full/ovr16/link_ovr.gif"); 
        LINK_WARNING = AbstractUIPlugin.imageDescriptorFromPlugin(
                IDEWorkbenchPlugin.IDE_WORKBENCH,
                "$nl$/icons/full/ovr16/linkwarn_ovr.gif"); 
    }
    /**
     * Creates a new <code>LinkedResourceDecorator</code>.
     */
    public LinkedResourceDecorator() {
    }
    /**
     * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(ILabelProviderListener)
     */
    public void addListener(ILabelProviderListener listener) {
    }
    /**
     * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
     */
    public void dispose() {
        
    }
    /**
     * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
     */
    public boolean isLabelProperty(Object element, String property) {
        return false;