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