#251 JExplorer dies after deleting code from buffer

open
nobody
None
5
2004-01-23
2004-01-23
Jay Bromley
No

Description:
[error] Buffer: java.lang.AbstractMethodError
[error] Buffer: at
org.gjt.sp.jedit.Buffer.firePreContentRemoved(Buffer.java:4135)
(stack trace continues...)

occurs when removing code from a buffer that causes the
code in the buffer to be syntactically incorrect. This
happens with jEdit 4.2pre8 and JExplorer 0.3.1

To reproduce:
1. Load a ProjectViewer project
2. Plugins->JExplorer->Models
3. Create a model for the project
4. Plugins->JExplorer->Index
4. Remove code from the buffer such that the code is no
longer syntactically correct

Result:
The above-mentioned AbstractMethodError is thrown and
logged. All model information disappears from the
JExplorer index pane. At this point JExplorer will no
longer function.

Possible solution:
The problem is that jexplorer.gui.ViewConnector does
not implement two abstract methods defined in the
BufferChangeListener interface that it implements. In
particular, the ViewConnecter does not implement
preContentRemoved and foldHandlerChanged.

To solve this problem there are two possibilities:
implement empty methods for these two methods in the
ViewConnector class, or have ViewConnector extend
BufferChangeAdapter instead of implementing
BufferChangeListener.

I have a patched version of JExplorer that I use, so I
could probably generate some diffs if someone wants them.

Discussion