Revision: 1677
http://gtkpod.svn.sourceforge.net/gtkpod/?rev=1677&view=rev
Author: jcsjcs
Date: 2007-08-09 07:28:52 -0700 (Thu, 09 Aug 2007)
Log Message:
-----------
* src/file_convert.c (conversion_log_append): don't append
character by character as this takes up too much CPU
time. Thanks to Javier Kohen for the patch.
Modified Paths:
--------------
gtkpod/trunk/ChangeLog_detailed
gtkpod/trunk/src/file_convert.c
Modified: gtkpod/trunk/ChangeLog_detailed
===================================================================
--- gtkpod/trunk/ChangeLog_detailed 2007-08-08 20:22:05 UTC (rev 1676)
+++ gtkpod/trunk/ChangeLog_detailed 2007-08-09 14:28:52 UTC (rev 1677)
@@ -1,3 +1,9 @@
+2007-08-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
+
+ * src/file_convert.c (conversion_log_append): don't append
+ character by character as this takes up too much CPU
+ time. Thanks to Javier Kohen for the patch.
+
2007-08-08 Todd Zullinger <tmzullinger at users.sourceforge.net>
* data/gtkpod.glade
Modified: gtkpod/trunk/src/file_convert.c
===================================================================
--- gtkpod/trunk/src/file_convert.c 2007-08-08 20:22:05 UTC (rev 1676)
+++ gtkpod/trunk/src/file_convert.c 2007-08-09 14:28:52 UTC (rev 1677)
@@ -739,7 +739,7 @@
GtkWidget *textview;
GtkTextBuffer *textbuffer;
GtkTextIter start, end;
- const gchar *ptr, *next;
+ const gchar *run, *ptr, *next;
g_return_if_fail (conv);
@@ -753,13 +753,18 @@
textbuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview));
gtk_text_buffer_get_end_iter (textbuffer, &end);
- ptr = text;
+ run = ptr = text;
while (*ptr)
{
next = g_utf8_find_next_char (ptr, NULL);
if (*ptr == '\b')
{
+ if (ptr > run)
+ {
+ gtk_text_buffer_insert (textbuffer, &end, run, ptr - run);
+ }
+ run = next;
start = end;
if (gtk_text_iter_backward_char (&start))
{
@@ -768,16 +773,21 @@
}
else if(*ptr == '\r')
{
+ if (ptr > run)
+ {
+ gtk_text_buffer_insert (textbuffer, &end, run, ptr - run);
+ }
+ run = next;
start = end;
gtk_text_iter_set_line_offset (&start, 0);
gtk_text_buffer_delete (textbuffer, &start, &end);
}
- else
- {
- gtk_text_buffer_insert (textbuffer, &end, ptr, next - ptr);
- }
ptr = next;
}
+ if (ptr > run)
+ {
+ gtk_text_buffer_insert (textbuffer, &end, run, ptr - run);
+ }
gtk_text_view_scroll_to_iter (GTK_TEXT_VIEW (textview),
&end, 0.0, FALSE, 0.0, 0.0);
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2