aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ChangeLog.ja5
-rw-r--r--src/compose.c11
3 files changed, 12 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 87d7a4cd..6ab92a69 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,8 @@
2005-02-02
- * src/compose.c: GET_CHAR(): speed up by using
- gtk_text_iter_get_char().
+ * src/compose.c:
+ GET_CHAR(): speed up by using gtk_text_iter_get_char().
+ get_indent_length(): use GtkTextIter for the loop.
2005-02-02
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 764cd8da..9f95cbf5 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,7 +1,8 @@
2005-02-02
- * src/compose.c: GET_CHAR(): gtk_text_iter_get_char() を使用して
- 高速化。
+ * src/compose.c:
+ GET_CHAR(): gtk_text_iter_get_char() を使用して高速化。
+ get_indent_length(): ループに GtkTextIter を使用。
2005-02-02
diff --git a/src/compose.c b/src/compose.c
index 1c057c92..e36ecfc5 100644
--- a/src/compose.c
+++ b/src/compose.c
@@ -1992,18 +1992,18 @@ typedef enum {
static guint get_indent_length(GtkTextBuffer *textbuf, guint start_pos,
guint text_len)
{
+ GtkTextIter iter;
guint i_len = 0;
- guint i, ch_len, alnum_cnt = 0;
+ guint ch_len, alnum_cnt = 0;
IndentState state = WAIT_FOR_INDENT_CHAR;
gchar cbuf[CHAR_BUF_SIZE];
gboolean is_space;
gboolean is_indent;
+ gboolean iter_next = TRUE;
-#warning FIXME_GTK2 use GtkTextIter
- for (i = start_pos; i < text_len; i++) {
- GtkTextIter iter;
+ gtk_text_buffer_get_iter_at_offset(textbuf, &iter, start_pos);
- gtk_text_buffer_get_iter_at_offset(textbuf, &iter, i);
+ while (iter_next == TRUE) {
GET_CHAR(&iter, cbuf, ch_len);
if (ch_len > 1)
break;
@@ -2048,6 +2048,7 @@ static guint get_indent_length(GtkTextBuffer *textbuf, guint start_pos,
}
i_len++;
+ iter_next = gtk_text_iter_forward_char(&iter);
}
out: