Community
Participate
Working Groups
I20071127-0800 This is a blocker for bug 113247 1. Add 'new Exception(region.toString()).printStackTrace();' to org.eclipse.jface.text.presentation.PresentationReconciler.InternalListener.textChanged(TextEvent) line 210 2. Open faust with 9999 spelling errors and spelling errors with 'Native Problem Underline' 3. Press and hold enter for about 10 seconds Is: you get a couple of stack traces (see below) after you release the key. Each time the complete document is damaged and repaired. Each repair takes a long time Should: exactly one stack trace after key release The trace: java.lang.Exception: [0+76881] at org.eclipse.jface.text.presentation.PresentationReconciler$InternalListener.textChanged(PresentationReconciler.java:208) at org.eclipse.jface.text.TextViewer.updateTextListeners(TextViewer.java:2624) at org.eclipse.jface.text.TextViewer.invalidateTextPresentation(TextViewer.java:3271) at org.eclipse.jface.text.source.AnnotationPainter.invalidateTextPresentation(AnnotationPainter.java:959) at org.eclipse.jface.text.source.AnnotationPainter.updatePainting(AnnotationPainter.java:941) at org.eclipse.jface.text.source.AnnotationPainter.access$1(AnnotationPainter.java:935) at org.eclipse.jface.text.source.AnnotationPainter$1.run(AnnotationPainter.java:1074) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:130) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3727) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3364) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2393)
This is intended for two reasons: - the widget itself treats each new character as a separate text change - we want the syntax coloring to update while the key is pressed