Index: src/org/netbeans/core/projects/cache/BinaryFS.java =================================================================== RCS file: /cvs/core/src/org/netbeans/core/projects/cache/BinaryFS.java,v retrieving revision 1.2 diff -u -r1.2 BinaryFS.java --- src/org/netbeans/core/projects/cache/BinaryFS.java 6 Dec 2002 00:07:47 -0000 1.2 +++ src/org/netbeans/core/projects/cache/BinaryFS.java 6 Dec 2002 12:04:31 -0000 @@ -14,6 +14,7 @@ package org.netbeans.core.projects.cache; import java.io.*; +import java.lang.reflect.Field; import java.lang.reflect.Method; import java.net.URL; import java.util.*; @@ -377,7 +378,24 @@ public Object getAttribute(String attrName) { initialize(); AttrImpl attr = (AttrImpl)attrs.get(attrName); - return attr == null ? null : attr.getValue(this, attrName); + if (attr != null) { + FileObject topFO = null; + try { + Class mfoClass = Class.forName("org.openide.filesystems.MultiFileObject"); //NOI18N + Field field = mfoClass.getDeclaredField("attrAskedFileObject"); //NOI18N + field.setAccessible(true); + + ThreadLocal attrAskedFileObject = (ThreadLocal) field.get(null); + topFO = (FileObject) attrAskedFileObject.get(); + attrAskedFileObject.set(null); + } catch (Exception e) { + ErrorManager.getDefault().notify(e); + } + + return attr.getValue(topFO == null ? this : topFO, attrName); + } else { + return null; + } } /** Get all file attribute names for this file. */