[oe-commits] Stanislav Brabec : geda-gattrib: Fixed build failure with the latest gtk+.

git version control git at git.openembedded.org
Sat Oct 3 19:52:08 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 995db5446aa356ffdb26fc2da76a4250033d8325
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=995db5446aa356ffdb26fc2da76a4250033d8325

Author: Stanislav Brabec <utx at penguin.cz>
Date:   Sat Oct  3 19:46:09 2009 +0000

geda-gattrib: Fixed build failure with the latest gtk+.

---

 recipes/geda/files/gattrib-gtk218.patch |  110 +++++++++++++++++++++++++++++++
 recipes/geda/geda-gattrib_1.4.3.bb      |    3 +-
 2 files changed, 112 insertions(+), 1 deletions(-)

diff --git a/recipes/geda/files/gattrib-gtk218.patch b/recipes/geda/files/gattrib-gtk218.patch
new file mode 100644
index 0000000..c1bbdd9
--- /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
+         {
diff --git a/recipes/geda/geda-gattrib_1.4.3.bb b/recipes/geda/geda-gattrib_1.4.3.bb
index af4ea94..7cc306d 100644
--- a/recipes/geda/geda-gattrib_1.4.3.bb
+++ b/recipes/geda/geda-gattrib_1.4.3.bb
@@ -4,7 +4,8 @@ FILES_${PN} += "${datadir}/gEDA ${datadir}/icons"
 
 DEPENDS = "gtk+ libgeda"
 
-SRC_URI = "http://geda.seul.org/release/v1.4/${PV}/${P}.tar.gz"
+SRC_URI = "http://geda.seul.org/release/v1.4/${PV}/${P}.tar.gz \
+      ${@['file://gattrib-gtk218.patch;patch=1', ''][bb.data.getVar('PREFERRED_VERSION_gtk+', d, 1) and bb.data.getVar('PREFERRED_VERSION_gtk+', d, 1).split('.')[0] <= '2' and bb.data.getVar('PREFERRED_VERSION_gtk+', d, 1).split('.')[1] < '18']}"
 
 inherit autotools pkgconfig
 





More information about the Openembedded-commits mailing list