Author: mkrueger
Date: 2008-02-12 03:41:48 -0500 (Tue, 12 Feb 2008)
New Revision: 95480

Modified:
   trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
   
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxModeService.cs
   
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/BookmarkMargin.cs
   trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/Document.cs
   
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/FoldMarkerMargin.cs
   
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/GutterMargin.cs
   
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs
Log:
* Mono.TextEditor/TextViewMargin.cs, Mono.TextEditor/Document.cs,
  Mono.TextEditor/FoldMarkerMargin.cs,
  Mono.TextEditor/BookmarkMargin.cs, Mono.TextEditor/GutterMargin.cs,
  Mono.TextEditor.Highlighting/SyntaxModeService.cs: Worked on memory
  management.

Modified: trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog
===================================================================
--- trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-12 
08:38:54 UTC (rev 95479)
+++ trunk/monodevelop/main/src/addins/Mono.Texteditor/ChangeLog 2008-02-12 
08:41:48 UTC (rev 95480)
@@ -1,6 +1,14 @@
 2008-02-12  Mike Krüger <[EMAIL PROTECTED]> 
 
        * Mono.TextEditor/TextViewMargin.cs, Mono.TextEditor/Document.cs,
+         Mono.TextEditor/FoldMarkerMargin.cs, 
Mono.TextEditor/BookmarkMargin.cs,
+         Mono.TextEditor/GutterMargin.cs,
+         Mono.TextEditor.Highlighting/SyntaxModeService.cs: Worked on memory
+         management.
+
+2008-02-12  Mike Krüger <[EMAIL PROTECTED]> 
+
+       * Mono.TextEditor/TextViewMargin.cs, Mono.TextEditor/Document.cs,
          Mono.TextEditor/LineSegment.cs,
          Mono.TextEditor.Highlighting/SyntaxModeService.cs: Syntax highlighting
          update is now faster. (produced too many redraws)

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/BookmarkMargin.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/BookmarkMargin.cs
 2008-02-12 08:38:54 UTC (rev 95479)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/BookmarkMargin.cs
 2008-02-12 08:41:48 UTC (rev 95480)
@@ -50,6 +50,11 @@
                
                public override void Dispose ()
                {
+                       DisposeGCs ();
+               }
+               
+               void DisposeGCs ()
+               {
                        if (backgroundGC != null) {
                                backgroundGC.Dispose ();
                                backgroundGC = null;
@@ -62,6 +67,7 @@
                
                public override void OptionsChanged ()
                {
+                       DisposeGCs ();
                        backgroundGC = new Gdk.GC (editor.GdkWindow);
                        backgroundGC.RgbFgColor = editor.ColorStyle.IconBarBg;
                        

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/Document.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/Document.cs   
    2008-02-12 08:38:54 UTC (rev 95479)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/Document.cs   
    2008-02-12 08:41:48 UTC (rev 95480)
@@ -303,7 +303,6 @@
                        if (needsUpdate) {
                                RequestUpdate (new UpdateAll ());
                                CommitDocumentUpdate ();
-                               
                        }
                }
                

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/FoldMarkerMargin.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/FoldMarkerMargin.cs
       2008-02-12 08:38:54 UTC (rev 95479)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/FoldMarkerMargin.cs
       2008-02-12 08:41:48 UTC (rev 95480)
@@ -84,6 +84,7 @@
                
                public override void OptionsChanged ()
                {
+                       DisposeGCs ();
                        foldBgGC = new Gdk.GC (editor.GdkWindow);
                        foldBgGC.RgbFgColor = editor.ColorStyle.FoldBg;
                        
@@ -101,6 +102,11 @@
                
                public override void Dispose ()
                {
+                       DisposeGCs ();
+               }
+               
+               void DisposeGCs ()
+               {
                        if (foldBgGC != null) {
                                foldBgGC.Dispose ();
                                foldBgGC = null;

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/GutterMargin.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/GutterMargin.cs
   2008-02-12 08:38:54 UTC (rev 95479)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/GutterMargin.cs
   2008-02-12 08:41:48 UTC (rev 95480)
@@ -90,6 +90,11 @@
                                layout.Dispose ();
                                layout = null;
                        }
+                       DisposeGCs ();
+               }
+               
+               void DisposeGCs ()
+               {
                        if (lineNumberBgGC != null) {
                                lineNumberBgGC.Dispose ();
                                lineNumberBgGC = null;
@@ -108,6 +113,7 @@
                public override void OptionsChanged ()
                {
                        layout.FontDescription = TextEditorOptions.Options.Font;
+                       DisposeGCs ();
                        lineNumberBgGC = new Gdk.GC (editor.GdkWindow);
                        lineNumberBgGC.RgbFgColor = 
editor.ColorStyle.LineNumberBg;
                        

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs
 2008-02-12 08:38:54 UTC (rev 95479)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor/TextViewMargin.cs
 2008-02-12 08:41:48 UTC (rev 95480)
@@ -88,8 +88,6 @@
                        }
                }
                
-
-               
                public TextViewMargin (TextEditor textEditor)
                {
                        this.textEditor = textEditor;
@@ -97,7 +95,6 @@
                        layout = new Pango.Layout (textEditor.PangoContext);
                        layout.Alignment = Pango.Alignment.Left;
                        
-                       
                        tabMarker = new Pango.Layout (textEditor.PangoContext);
                        tabMarker.SetText ("\u00BB");
                        
@@ -159,24 +156,30 @@
                
                public override void OptionsChanged ()
                {
+                       DisposeGCs ();
                        gc = new Gdk.GC (textEditor.GdkWindow);
                        layout.FontDescription = TextEditorOptions.Options.Font;
                        layout.SetText ("H");
                        layout.GetPixelSize (out this.charWidth, out 
this.lineHeight);
                }
                
+               void DisposeGCs ()
+               {
+                       if (gc != null) {
+                               gc.Dispose ();
+                               gc = null;
+                       }
+               }
+               
                public override void Dispose ()
                {
                        if (caretBlinkTimeoutId != 0)
                                GLib.Source.Remove (caretBlinkTimeoutId);
+                       DisposeGCs ();
                        if (layout != null) {
                                layout.Dispose ();
                                layout = null;
                        }
-                       if (gc != null) {
-                               gc.Dispose ();
-                               gc = null;
-                       }
                        if (tabMarker != null) {
                                tabMarker.Dispose ();
                                tabMarker = null;

Modified: 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxModeService.cs
===================================================================
--- 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxModeService.cs
 2008-02-12 08:38:54 UTC (rev 95479)
+++ 
trunk/monodevelop/main/src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxModeService.cs
 2008-02-12 08:41:48 UTC (rev 95480)
@@ -170,7 +170,7 @@
                        int startOffset = (int)data[2];
                        int endOffset   = (int)data[3];
                        bool doUpdate = false;
-                       LineSegment endLine = doc.Splitter.GetByOffset 
(endOffset);
+//                     LineSegment endLine = doc.Splitter.GetByOffset 
(endOffset);
                        
RedBlackTree<LineSegmentTree.TreeNode>.RedBlackTreeIterator iter = 
doc.Splitter.GetByOffset (startOffset).Iter;
                        Stack<Span> spanStack = iter.Current.StartSpan != null 
? new Stack<Span> (iter.Current.StartSpan) : new Stack<Span> ();
                        do {

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to