diff -r 71e4896b11a4 -r 339970f9330e Libraries/UltimaCodeEditor/FastColoredTextBox/FastColoredTextBox/AutocompleteMenu.cs --- a/Libraries/UltimaCodeEditor/FastColoredTextBox/FastColoredTextBox/AutocompleteMenu.cs Fri Nov 09 15:07:15 2012 +0400 +++ b/Libraries/UltimaCodeEditor/FastColoredTextBox/FastColoredTextBox/AutocompleteMenu.cs Fri Nov 09 15:21:38 2012 +0400 @@ -37,7 +37,7 @@ /// /// Occurs when popup menu is opening /// - public event EventHandler Opening; + public new event EventHandler Opening; /// /// Allow TAB for select menu item /// @@ -67,7 +67,7 @@ MinFragmentLength = 2; } - internal void OnOpening(CancelEventArgs args) + internal new void OnOpening(CancelEventArgs args) { if (Opening != null) Opening(this, args); diff -r 71e4896b11a4 -r 339970f9330e Libraries/UltimaCodeEditor/FastColoredTextBox/FastColoredTextBox/FastColoredTextBox.cs --- a/Libraries/UltimaCodeEditor/FastColoredTextBox/FastColoredTextBox/FastColoredTextBox.cs Fri Nov 09 15:07:15 2012 +0400 +++ b/Libraries/UltimaCodeEditor/FastColoredTextBox/FastColoredTextBox/FastColoredTextBox.cs Fri Nov 09 15:21:38 2012 +0400 @@ -1323,7 +1323,7 @@ /// Fake event for correct data binding /// [Browsable(false)] - internal new event EventHandler BindingTextChanged; + internal event EventHandler BindingTextChanged; /// /// TextChanging event. @@ -2399,9 +2399,9 @@ try { if (VerticalScroll.Visible || !ShowScrollBars) - VerticalScroll.Value = v; + VerticalScroll.Value = Math.Min(v, VerticalScroll.Maximum); if (HorizontalScroll.Visible || !ShowScrollBars) - HorizontalScroll.Value = h; + HorizontalScroll.Value = Math.Min(h, HorizontalScroll.Maximum); } catch (ArgumentOutOfRangeException) { @@ -4396,7 +4396,6 @@ protected virtual int FindEndOfFoldingBlock(int iStartLine, int maxLines) { //find end of block - int counter = 0; int i; string marker = lines[iStartLine].FoldingStartMarker; Stack stack = new Stack(); diff -r 71e4896b11a4 -r 339970f9330e Libraries/UltimaCodeEditor/FastColoredTextBox/FastColoredTextBox/FileTextSource.cs --- a/Libraries/UltimaCodeEditor/FastColoredTextBox/FastColoredTextBox/FileTextSource.cs Fri Nov 09 15:07:15 2012 +0400 +++ b/Libraries/UltimaCodeEditor/FastColoredTextBox/FastColoredTextBox/FileTextSource.cs Fri Nov 09 15:21:38 2012 +0400 @@ -354,7 +354,7 @@ return !string.IsNullOrEmpty(lines[iLine].FoldingEndMarker); } - public void Dispose() + public override void Dispose() { if (fs != null) fs.Dispose(); diff -r 71e4896b11a4 -r 339970f9330e Libraries/UltimaCodeEditor/FastColoredTextBox/FastColoredTextBox/Place.cs --- a/Libraries/UltimaCodeEditor/FastColoredTextBox/FastColoredTextBox/Place.cs Fri Nov 09 15:07:15 2012 +0400 +++ b/Libraries/UltimaCodeEditor/FastColoredTextBox/FastColoredTextBox/Place.cs Fri Nov 09 15:21:38 2012 +0400 @@ -1,10 +1,11 @@ - +using System; + namespace FastColoredTextBoxNS { /// /// Line index and char index /// - public struct Place + public struct Place : IEquatable { public int iChar; public int iLine; @@ -21,6 +22,21 @@ iLine += dy; } + public bool Equals(Place other) + { + return iChar == other.iChar && iLine == other.iLine; + } + + public override bool Equals(object obj) + { + return (obj is Place) && Equals((Place)obj); + } + + public override int GetHashCode() + { + return iChar.GetHashCode() ^ iLine.GetHashCode(); + } + public static bool operator !=(Place p1, Place p2) { return !p1.Equals(p2);