Using TCoolTextBuffer functions to delete text, e.g. DeleteText(), will not adjust the cursor position, leaving the cursor possibly outside the text area. Subsequently called TCoolEdit functions like InsertText() may therefore be performed on invalid cursor positions and crash the program.
With the changes implemented in [feature-requests:#266], the TCoolEdit class no longer has low-level write access to the buffer. All mutating operations have to go through the new class TSource, which handles command execution (execute/undo/redo) and state changes. This design change aims to prevent the issues described in this ticket.
Related
Feature Requests: #266