protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
if (disposing)
{
if (!disposed)
{
disposed = true;
if (caret != null)
{
caret.PositionChanged -= new EventHandler(SearchMatchingBracket);
caret.Dispose();
}
if (selectionManager != null)
{
selectionManager.Dispose();
}
Document.TextContentChanged -= new EventHandler(TextContentChanged);
Document.FoldingManager.FoldingsChanged -= new EventHandler(DocumentFoldingsChanged);
motherTextAreaControl = null;
motherTextEditorControl = null;
foreach (AbstractMargin margin in leftMargins)
{
if (margin is IDisposable)
{
(margin as IDisposable).Dispose();
}
}
textView.Dispose();
}
}
}