diff options
-rw-r--r-- | recipes/geda/files/gattrib-gtk218.patch | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/recipes/geda/files/gattrib-gtk218.patch b/recipes/geda/files/gattrib-gtk218.patch new file mode 100644 index 0000000000..c1bbdd9ae6 --- /dev/null +++ b/recipes/geda/files/gattrib-gtk218.patch @@ -0,0 +1,110 @@ +Index: geda-gattrib-1.4.3/src/gtkitementry_2_2.c +=================================================================== +--- geda-gattrib-1.4.3.orig/src/gtkitementry_2_2.c ++++ geda-gattrib-1.4.3/src/gtkitementry_2_2.c +@@ -811,23 +811,23 @@ gtk_entry_real_insert_text (GtkEditable + new_text_length = g_utf8_offset_to_pointer (new_text, n_chars) - new_text; + } + +- if (new_text_length + entry->n_bytes + 1 > entry->text_size) ++ if (new_text_length + entry->x_n_bytes + 1 > entry->x_text_size) + { +- while (new_text_length + entry->n_bytes + 1 > entry->text_size) ++ while (new_text_length + entry->x_n_bytes + 1 > entry->x_text_size) + { +- if (entry->text_size == 0) +- entry->text_size = MIN_SIZE; ++ if (entry->x_text_size == 0) ++ entry->x_text_size = MIN_SIZE; + else + { +- if (2 * (guint)entry->text_size < MAX_SIZE && +- 2 * (guint)entry->text_size > entry->text_size) +- entry->text_size *= 2; ++ if (2 * (guint)entry->x_text_size < MAX_SIZE && ++ 2 * (guint)entry->x_text_size > entry->x_text_size) ++ entry->x_text_size *= 2; + else + { +- entry->text_size = MAX_SIZE; +- if (new_text_length > (gint)entry->text_size - (gint)entry->n_bytes - 1) ++ entry->x_text_size = MAX_SIZE; ++ if (new_text_length > (gint)entry->x_text_size - (gint)entry->x_n_bytes - 1) + { +- new_text_length = (gint)entry->text_size - (gint)entry->n_bytes - 1; ++ new_text_length = (gint)entry->x_text_size - (gint)entry->x_n_bytes - 1; + new_text_length = g_utf8_find_prev_char (new_text, new_text + new_text_length + 1) - new_text; + n_chars = g_utf8_strlen (new_text, new_text_length); + } +@@ -836,19 +836,19 @@ gtk_entry_real_insert_text (GtkEditable + } + } + +- entry->text = g_realloc (entry->text, entry->text_size); ++ entry->text = g_realloc (entry->text, entry->x_text_size); + } + + index = g_utf8_offset_to_pointer (entry->text, *position) - entry->text; + +- g_memmove (entry->text + index + new_text_length, entry->text + index, entry->n_bytes - index); ++ g_memmove (entry->text + index + new_text_length, entry->text + index, entry->x_n_bytes - index); + memcpy (entry->text + index, new_text, new_text_length); + +- entry->n_bytes += new_text_length; ++ entry->x_n_bytes += new_text_length; + entry->text_length += n_chars; + + /* NUL terminate for safety and convenience */ +- entry->text[entry->n_bytes] = '\0'; ++ entry->text[entry->x_n_bytes] = '\0'; + + if (entry->current_pos > *position) + entry->current_pos += n_chars; +@@ -881,9 +881,9 @@ gtk_entry_real_delete_text (GtkEditable + gint start_index = g_utf8_offset_to_pointer (entry->text, start_pos) - entry->text; + gint end_index = g_utf8_offset_to_pointer (entry->text, end_pos) - entry->text; + +- g_memmove (entry->text + start_index, entry->text + end_index, entry->n_bytes + 1 - end_index); ++ g_memmove (entry->text + start_index, entry->text + end_index, entry->x_n_bytes + 1 - end_index); + entry->text_length -= (end_pos - start_pos); +- entry->n_bytes -= (end_index - start_index); ++ entry->x_n_bytes -= (end_index - start_index); + + if (entry->current_pos > start_pos) + entry->current_pos -= MIN (entry->current_pos, end_pos) - start_pos; +@@ -1157,7 +1157,7 @@ gtk_entry_retrieve_surrounding_cb (GtkIM + { + gtk_im_context_set_surrounding (context, + entry->text, +- entry->n_bytes, ++ entry->x_n_bytes, + g_utf8_offset_to_pointer (entry->text, entry->current_pos) - entry->text); + + return TRUE; +@@ -1364,7 +1364,7 @@ gtk_entry_create_layout (GtkEntry *entry + + if (entry->visible) + { +- g_string_prepend_len (tmp_string, entry->text, entry->n_bytes); ++ g_string_prepend_len (tmp_string, entry->text, entry->x_n_bytes); + g_string_insert (tmp_string, cursor_index, preedit_string); + } + else +@@ -1373,7 +1373,7 @@ gtk_entry_create_layout (GtkEntry *entry + gint preedit_len_chars; + gunichar invisible_char; + +- ch_len = g_utf8_strlen (entry->text, entry->n_bytes); ++ ch_len = g_utf8_strlen (entry->text, entry->x_n_bytes); + preedit_len_chars = g_utf8_strlen (preedit_string, -1); + ch_len += preedit_len_chars; + +@@ -1407,7 +1407,7 @@ gtk_entry_create_layout (GtkEntry *entry + { + if (entry->visible) + { +- pango_layout_set_text (layout, entry->text, entry->n_bytes); ++ pango_layout_set_text (layout, entry->text, entry->x_n_bytes); + } + else + { |