# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: /home/vv159170/cnd/modelimpl/src/org/netbeans/modules/cnd/modelimpl/csm/core # 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: ProjectBase.java *** /home/vv159170/cnd/modelimpl/src/org/netbeans/modules/cnd/modelimpl/csm/core/ProjectBase.java Base (1.2.2.27.2.93) --- /home/vv159170/cnd/modelimpl/src/org/netbeans/modules/cnd/modelimpl/csm/core/ProjectBase.java Locally Modified (Based On 1.2.2.27.2.93) *************** *** 561,568 **** --- 561,571 ---- } protected void putPreprocStateState(File file, APTPreprocState.State state) { + Object stateLock = fileContainer.getLock(file); + synchronized (stateLock) { fileContainer.putPreprocStateState(file, state); } + } protected APTPreprocState.State getPreprocStateState(File file) { return fileContainer.getPreprocStateState(file); *************** *** 630,636 **** } if( update ) { state = preprocState.getState(); ! putPreprocStateState(file, state); } return state; } --- 633,641 ---- } if( update ) { state = preprocState.getState(); ! // need to prevent corrupting shared object => copy ! APTPreprocState.State copy = state.copy(); ! putPreprocStateState(file, copy); } return state; } *************** *** 965,971 **** if (state2Clean.equals(rememberedState)) { if (!rememberedState.isCleaned()) { if (TRACE_PP_STATE_OUT) System.err.println("cleaning for " + file.getAbsolutePath()); ! rememberedState.cleanExceptIncludeStack(); } else { if (TRACE_PP_STATE_OUT) System.err.println("not need cleaning for " + file.getAbsolutePath()); } --- 970,979 ---- if (state2Clean.equals(rememberedState)) { if (!rememberedState.isCleaned()) { if (TRACE_PP_STATE_OUT) System.err.println("cleaning for " + file.getAbsolutePath()); ! // need to prevent corrupting shared object => copy ! APTPreprocState.State copy = state2Clean.copy(); ! copy.cleanExceptIncludeStack(); ! putPreprocStateState(file, copy); } else { if (TRACE_PP_STATE_OUT) System.err.println("not need cleaning for " + file.getAbsolutePath()); }