mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-03 23:25:26 +02:00
Bug 365605 - Editor should reconcile also on save
This commit is contained in:
parent
5a5124dd04
commit
495dd7cfa9
1 changed files with 1 additions and 13 deletions
|
@ -209,10 +209,7 @@ public class CReconciler extends MonoReconciler {
|
||||||
if ((flags & ICElementDelta.F_CONTENT) != 0) {
|
if ((flags & ICElementDelta.F_CONTENT) != 0) {
|
||||||
if (!fIsReconciling && isRelevantElement(delta.getElement())) {
|
if (!fIsReconciling && isRelevantElement(delta.getElement())) {
|
||||||
// mark model changed, but don't update immediately
|
// mark model changed, but don't update immediately
|
||||||
fIndexerListener.ignoreChanges(false);
|
|
||||||
setCModelChanged(true);
|
setCModelChanged(true);
|
||||||
} else if (delta.getElement() instanceof ITranslationUnit) {
|
|
||||||
fIndexerListener.ignoreChanges(true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((flags & (
|
if ((flags & (
|
||||||
|
@ -237,7 +234,6 @@ public class CReconciler extends MonoReconciler {
|
||||||
|
|
||||||
private class IndexerListener implements IIndexerStateListener, IIndexChangeListener {
|
private class IndexerListener implements IIndexerStateListener, IIndexChangeListener {
|
||||||
private boolean fIndexChanged;
|
private boolean fIndexChanged;
|
||||||
private boolean fIgnoreChanges;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @see org.eclipse.cdt.core.index.IIndexerStateListener#indexChanged(org.eclipse.cdt.core.index.IIndexerStateEvent)
|
* @see org.eclipse.cdt.core.index.IIndexerStateListener#indexChanged(org.eclipse.cdt.core.index.IIndexerStateEvent)
|
||||||
|
@ -252,25 +248,17 @@ public class CReconciler extends MonoReconciler {
|
||||||
setCModelChanged(true);
|
setCModelChanged(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fIgnoreChanges= false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ignoreChanges(boolean ignore) {
|
|
||||||
fIgnoreChanges= ignore;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @see org.eclipse.cdt.core.index.IIndexChangeListener#indexChanged(org.eclipse.cdt.core.index.IIndexChangeEvent)
|
* @see org.eclipse.cdt.core.index.IIndexChangeListener#indexChanged(org.eclipse.cdt.core.index.IIndexChangeEvent)
|
||||||
*/
|
*/
|
||||||
public void indexChanged(IIndexChangeEvent event) {
|
public void indexChanged(IIndexChangeEvent event) {
|
||||||
if (!fIndexChanged && isRelevantProject(event.getAffectedProject())) {
|
if (!fIndexChanged && isRelevantProject(event.getAffectedProject())) {
|
||||||
if (!fIgnoreChanges || event.isCleared() || event.isReloaded() || event.hasNewFile()) {
|
fIndexChanged= true;
|
||||||
fIndexChanged= true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The reconciler's editor */
|
/** The reconciler's editor */
|
||||||
|
|
Loading…
Add table
Reference in a new issue