1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-17 22:15:23 +02:00

Fix for 203394: Often CDT syntax coloring on typedef not work when Eclipse startup

This commit is contained in:
Anton Leherbauer 2007-09-14 12:32:14 +00:00
parent 5ec9c633a4
commit 8d9b5649a8

View file

@ -192,9 +192,10 @@ public class CReconciler extends MonoReconciler {
public void elementChanged(ElementChangedEvent event) { public void elementChanged(ElementChangedEvent event) {
if (event.getType() == ElementChangedEvent.POST_CHANGE) { if (event.getType() == ElementChangedEvent.POST_CHANGE) {
if (isRelevantDelta(event.getDelta())) { if (isRelevantDelta(event.getDelta())) {
setCModelChanged(true);
if (!fIsReconciling && isEditorActive()) { if (!fIsReconciling && isEditorActive()) {
CReconciler.this.scheduleReconciling(); CReconciler.this.scheduleReconciling();
} else {
setCModelChanged(true);
} }
} }
} }
@ -207,7 +208,7 @@ public class CReconciler extends MonoReconciler {
// mark model changed, but don't update immediately // mark model changed, but don't update immediately
fIndexerListener.ignoreChanges(false); fIndexerListener.ignoreChanges(false);
setCModelChanged(true); setCModelChanged(true);
} else { } else if (delta.getElement() instanceof ITranslationUnit) {
fIndexerListener.ignoreChanges(true); fIndexerListener.ignoreChanges(true);
} }
} }
@ -241,13 +242,14 @@ public class CReconciler extends MonoReconciler {
public void indexChanged(IIndexerStateEvent event) { public void indexChanged(IIndexerStateEvent event) {
if (event.indexerIsIdle()) { if (event.indexerIsIdle()) {
if (fIndexChanged || hasCModelChanged()) { if (fIndexChanged || hasCModelChanged()) {
setCModelChanged(true); fIndexChanged= false;
if (!fIsReconciling && isEditorActive()) { if (!fIsReconciling && isEditorActive()) {
CReconciler.this.scheduleReconciling(); CReconciler.this.scheduleReconciling();
} else {
setCModelChanged(true);
} }
} }
fIgnoreChanges= false; fIgnoreChanges= false;
fIndexChanged= false;
} }
} }