@@ -185,32 +185,32 @@ protected override void WndProc(ref Message m) {
185185
186186 protected override void OnPaint ( PaintEventArgs e ) {
187187 base . OnPaint ( e ) ;
188- System . Diagnostics . Stopwatch sw = new System . Diagnostics . Stopwatch ( ) ;
189- sw . Start ( ) ;
188+ // System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
189+ // sw.Start();
190190 this . XDPIZoom = e . Graphics . DpiX / 96 ;
191191 this . YDPIZoom = e . Graphics . DpiY / 96 ;
192192 var render = m_core . ITextBoxRender ;
193- try {
194- render . OnBeginPaint ( e . Graphics ) ;
195- m_core . ITextView . OnDrawView ( render ) ;
196- if ( this . _AllowScrollBar && m_core . Scroll . CountDown != 0 ) {
197- this . OnCalcScrollRectangle ( m_core . Scroll ) ;
198- bool bFlag = true ;
199- if ( m_core . Scroll . HBackRect != m_core . Scroll . HThumbRect ) {
200- this . OnDrawHScrollBar ( render , m_core . Scroll ) ;
201- } else { bFlag = false ; }
202- if ( m_core . Scroll . VBackRect != m_core . Scroll . VThumbRect ) {
203- this . OnDrawVScrollBar ( render , m_core . Scroll ) ;
204- } else { bFlag = false ; }
205- if ( bFlag ) this . OnDrawScrollBarCorner ( render , m_core . Scroll ) ;
206- }
207- this . OnDrawBorder ( render ) ;
208- render . OnEndPaint ( e . Graphics ) ;
209- } catch ( Exception ex ) {
210- MessageBox . Show ( ex . Message + "\r \n \r \n " + ex . StackTrace ) ;
193+ //try {
194+ render . OnBeginPaint ( e . Graphics ) ;
195+ m_core . ITextView . OnDrawView ( render ) ;
196+ if ( this . _AllowScrollBar && m_core . Scroll . CountDown != 0 ) {
197+ this . OnCalcScrollRectangle ( m_core . Scroll ) ;
198+ bool bFlag = true ;
199+ if ( m_core . Scroll . HBackRect != m_core . Scroll . HThumbRect ) {
200+ this . OnDrawHScrollBar ( render , m_core . Scroll ) ;
201+ } else { bFlag = false ; }
202+ if ( m_core . Scroll . VBackRect != m_core . Scroll . VThumbRect ) {
203+ this . OnDrawVScrollBar ( render , m_core . Scroll ) ;
204+ } else { bFlag = false ; }
205+ if ( bFlag ) this . OnDrawScrollBarCorner ( render , m_core . Scroll ) ;
211206 }
212- sw . Stop ( ) ;
213- Console . WriteLine ( "OnPaint - " + sw . ElapsedMilliseconds + "ms" ) ;
207+ this . OnDrawBorder ( render ) ;
208+ render . OnEndPaint ( e . Graphics ) ;
209+ //} catch (Exception ex) {
210+ // MessageBox.Show(ex.Message + "\r\n\r\n" + ex.StackTrace);
211+ //}
212+ //sw.Stop();
213+ //Console.WriteLine("OnPaint - " + sw.ElapsedMilliseconds + "ms");
214214 }
215215
216216 protected virtual void OnDrawBorder ( ISTTextBoxRender render ) {
@@ -338,6 +338,15 @@ private void RunHistory(bool isUndo) {
338338 if ( histories == null || histories . Length == 0 ) {
339339 return ;
340340 }
341+ if ( isUndo ) {
342+ var temp = new TextHistoryRecord [ histories . Length ] ;
343+ for ( int i = 0 ; i < histories . Length ; i ++ ) {
344+ temp [ i ] = histories [ i ] ;
345+ temp [ i ] . NewText = histories [ i ] . OldText ;
346+ temp [ i ] . OldText = histories [ i ] . NewText ;
347+ }
348+ histories = temp ;
349+ }
341350 histories = c . TextManager . RunHistory ( histories ) ;
342351 var last = histories [ histories . Length - 1 ] ;
343352 c . Selection . SetSelection ( last . Index , last . Index + last . NewText . Length ) ;
0 commit comments