*/
protected void updateCursor(int residuePos, int column, int startColumn)
{
- int endColumn = cursor == null ? 0 : cursor.lastColumnPosition;
+ /*
+ * preserve end residue column provided cursor was valid
+ */
+ int endColumn = isValidCursor(cursor) ? cursor.lastColumnPosition : 0;
if (residuePos == this.end)
{
endColumn = column;