# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: /home/vv159170/cnd # 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: modelimpl/src/org/netbeans/modules/cnd/modelimpl/csm/core/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) *************** *** 630,636 **** } if( update ) { state = preprocState.getState(); ! putPreprocStateState(file, state); } return state; } --- 630,638 ---- } 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()); } --- 967,974 ---- if (state2Clean.equals(rememberedState)) { if (!rememberedState.isCleaned()) { if (TRACE_PP_STATE_OUT) System.err.println("cleaning for " + file.getAbsolutePath()); ! state2Clean.cleanExceptIncludeStack(); ! putPreprocStateState(file, state2Clean); } else { if (TRACE_PP_STATE_OUT) System.err.println("not need cleaning for " + file.getAbsolutePath()); } Index: modelimpl/src/org/netbeans/modules/cnd/modelimpl/csm/core/FileContainer.java *** /home/vv159170/cnd/modelimpl/src/org/netbeans/modules/cnd/modelimpl/csm/core/FileContainer.java Base (1.1.2.6) --- /home/vv159170/cnd/modelimpl/src/org/netbeans/modules/cnd/modelimpl/csm/core/FileContainer.java Locally Modified (Based On 1.1.2.6) *************** *** 97,102 **** --- 97,103 ---- if (f == null){ return; } + synchronized (getLock(file)) { if (f.state == null){ f.state = state; } else { *************** *** 118,123 **** --- 119,125 ---- } } } + } if (TRACE_PP_STATE_OUT) { System.err.println("\nPut state for file" + path + "\n"); System.err.println(state); Index: apt/src/org/netbeans/modules/cnd/apt/impl/support/APTIncludeHandlerImpl.java *** /home/vv159170/cnd/apt/src/org/netbeans/modules/cnd/apt/impl/support/APTIncludeHandlerImpl.java Base (1.1.2.16) --- /home/vv159170/cnd/apt/src/org/netbeans/modules/cnd/apt/impl/support/APTIncludeHandlerImpl.java Locally Modified (Based On 1.1.2.16) *************** *** 167,178 **** public boolean cleanExceptIncludeStack() { boolean cleaned = false; if (inclStack != null && inclStack.size() != 0) { - recurseIncludes = null; cleaned = true; } return cleaned; } --- 167,175 ---- public boolean cleanExceptIncludeStack() { boolean cleaned = false; if (inclStack != null && inclStack.size() != 0) { cleaned = true; } + recurseIncludes = null; return cleaned; }