# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: C:\cvs\trunk\mobility\project\src\org\netbeans\modules\mobility\project\queries # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: CompiledSourceForBinaryQuery.java *** C:\cvs\trunk\mobility\project\src\org\netbeans\modules\mobility\project\queries\CompiledSourceForBinaryQuery.java Base (1.2) --- C:\cvs\trunk\mobility\project\src\org\netbeans\modules\mobility\project\queries\CompiledSourceForBinaryQuery.java Locally Modified (Based On 1.2) *************** *** 43,48 **** --- 43,49 ---- import javax.swing.event.ChangeListener; import javax.swing.event.ChangeEvent; + import org.openide.util.RequestProcessor; public class CompiledSourceForBinaryQuery implements SourceForBinaryQueryImplementation { *************** *** 71,77 **** helper.addAntProjectListener(antProjectListener); } ! public synchronized FileObject[] getRoots() { FileObject[] fo = cache; if (fo == null) { cache = new FileObject[0]; --- 72,78 ---- helper.addAntProjectListener(antProjectListener); } ! public FileObject[] getRoots() { FileObject[] fo = cache; if (fo == null) { cache = new FileObject[0]; *************** *** 137,142 **** --- 138,145 ---- } private void fireChanged() { + RequestProcessor.getDefault().post(new Runnable() { + public void run() { synchronized (listeners) { final ChangeEvent event=new ChangeEvent(this); for (int i = 0; i < listeners.size(); i++) { *************** *** 145,150 **** --- 148,155 ---- } } } + }); + } public void configurationXmlChanged(@SuppressWarnings("unused") AntProjectEvent event) { } Index: FileBuiltQueryImpl.java *** C:\cvs\trunk\mobility\project\src\org\netbeans\modules\mobility\project\queries\FileBuiltQueryImpl.java Base (1.2) --- C:\cvs\trunk\mobility\project\src\org\netbeans\modules\mobility\project\queries\FileBuiltQueryImpl.java Locally Modified (Based On 1.2) *************** *** 69,76 **** return srcRoot; } ! public synchronized FileBuiltQuery.Status getStatus(final FileObject file) { ! final Object o = statuses.get(file); if (o == NONE) { return null; } --- 69,79 ---- return srcRoot; } ! public FileBuiltQuery.Status getStatus(final FileObject file) { ! Object o; ! synchronized (statuses) { ! o = statuses.get(file); ! } if (o == NONE) { return null; } *************** *** 78,89 **** --- 81,94 ---- StatusImpl status = (r != null) ? (StatusImpl)r.get() : null; if (status == null) { status = createStatus(file); + synchronized (statuses) { if (status != null) { statuses.put(file, new WeakReference(status)); } else { statuses.put(file, NONE); } } + } return status; } *************** *** 94,100 **** public void run() { FileObject files[]; ! synchronized (this) { files = statuses.keySet().toArray(new FileObject[statuses.size()]); } for (int i=0; i