rpms/gtk+extra/devel gtk+extra-2.1.1-item.patch, NONE, 1.1 gtk+extra.spec, 1.14, 1.15

Roy Rankin rrankin at fedoraproject.org
Sat Aug 1 00:13:30 UTC 2009


Author: rrankin

Update of /cvs/pkgs/rpms/gtk+extra/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29577

Modified Files:
	gtk+extra.spec 
Added Files:
	gtk+extra-2.1.1-item.patch 
Log Message:
Add patch to allow compile against gtk2-2.17.5


gtk+extra-2.1.1-item.patch:
 gtkitementry.c |   46 ++++++++++++++++++++++++++--------------------
 gtkitementry.h |    2 ++
 2 files changed, 28 insertions(+), 20 deletions(-)

--- NEW FILE gtk+extra-2.1.1-item.patch ---
diff --git a/gtkextra/gtkitementry.c b/gtkextra/gtkitementry.c
index 0c5426b..6a42880 100644
--- a/gtkextra/gtkitementry.c
+++ b/gtkextra/gtkitementry.c
@@ -251,6 +251,8 @@ gtk_item_entry_init (GtkItemEntry *entry)
 {
   entry->justification = GTK_JUSTIFY_LEFT;
   entry->text_max_size = 0;
+  entry->item_text_size = 0;
+  entry->item_n_bytes = 0;
   GTK_ENTRY(entry)->has_frame = FALSE;
 
   g_object_unref(G_OBJECT(GTK_ENTRY(entry)->im_context));
@@ -680,6 +682,7 @@ gtk_entry_real_insert_text (GtkEditable *editable,
   gint index;
   gint n_chars;
 
+  GtkItemEntry *ientry = GTK_ITEM_ENTRY (editable);
   GtkEntry *entry = GTK_ENTRY (editable);
 
   if (new_text_length < 0)
@@ -693,23 +696,23 @@ gtk_entry_real_insert_text (GtkEditable *editable,
       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 + ientry->item_n_bytes + 1 > ientry->item_text_size)
     {
-      while (new_text_length + entry->n_bytes + 1 > entry->text_size)
+      while (new_text_length + ientry->item_n_bytes + 1 > ientry->item_text_size)
 	{
-	  if (entry->text_size == 0)
-	    entry->text_size = MIN_SIZE;
+	  if (ientry->item_text_size == 0)
+	    ientry->item_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)ientry->item_text_size < MAX_SIZE &&
+		  2 * (guint)ientry->item_text_size > ientry->item_text_size)
+		ientry->item_text_size *= 2;
 	      else
 		{
-		  entry->text_size = MAX_SIZE;
-		  if (new_text_length > (gint)entry->text_size - (gint)entry->n_bytes - 1)
+		  ientry->item_text_size = MAX_SIZE;
+		  if (new_text_length > (gint)ientry->item_text_size - (gint)ientry->item_n_bytes - 1)
 		    {
-		      new_text_length = (gint)entry->text_size - (gint)entry->n_bytes - 1;
+		      new_text_length = (gint)ientry->item_text_size - (gint)ientry->item_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);
 		    }
@@ -718,19 +721,19 @@ gtk_entry_real_insert_text (GtkEditable *editable,
 	    }
 	}
 
-      entry->text = g_realloc (entry->text, entry->text_size);
+      entry->text = g_realloc (entry->text, ientry->item_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, ientry->item_n_bytes - index);
   memcpy (entry->text + index, new_text, new_text_length);
 
-  entry->n_bytes += new_text_length;
+  ientry->item_n_bytes += new_text_length;
   entry->text_length += n_chars;
 
   /* NUL terminate for safety and convenience */
-  entry->text[entry->n_bytes] = '\0';
+  entry->text[ientry->item_n_bytes] = '\0';
   
   if (entry->current_pos > *position)
     entry->current_pos += n_chars;
@@ -752,6 +755,7 @@ gtk_entry_real_delete_text (GtkEditable *editable,
 			    gint         end_pos)
 {
   GtkEntry *entry = GTK_ENTRY (editable);
+  GtkItemEntry *ientry = GTK_ITEM_ENTRY (editable);
 
   if (start_pos < 0)
     start_pos = 0;
@@ -763,9 +767,9 @@ gtk_entry_real_delete_text (GtkEditable *editable,
       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, ientry->item_n_bytes + 1 - end_index);
       entry->text_length -= (end_pos - start_pos);
-      entry->n_bytes -= (end_index - start_index);
+      ientry->item_n_bytes -= (end_index - start_index);
       
       if (entry->current_pos > start_pos)
 	entry->current_pos -= MIN (entry->current_pos, end_pos) - start_pos;
@@ -1026,9 +1030,10 @@ static gboolean
 gtk_entry_retrieve_surrounding_cb (GtkIMContext *context,
                                GtkEntry     *entry)
 {
+  GtkItemEntry *ientry = GTK_ITEM_ENTRY (entry);
   gtk_im_context_set_surrounding (context,
                                   entry->text,
-                                  entry->n_bytes,
+                                  ientry->item_n_bytes,
                                   g_utf8_offset_to_pointer (entry->text, entry->current_pos) - entry->text);
 
   return TRUE;
@@ -1205,6 +1210,7 @@ static PangoLayout *
 gtk_entry_create_layout (GtkEntry *entry,
 			 gboolean  include_preedit)
 {
+  GtkItemEntry *ientry = GTK_ITEM_ENTRY (entry);
   PangoLayout *layout = gtk_widget_create_pango_layout (GTK_WIDGET (entry), NULL);
   PangoAttrList *tmp_attrs = pango_attr_list_new ();
   
@@ -1229,7 +1235,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, ientry->item_n_bytes);
           g_string_insert (tmp_string, cursor_index, preedit_string);
         }
       else
@@ -1238,7 +1244,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, ientry->item_n_bytes);
           preedit_len_chars = g_utf8_strlen (preedit_string, -1);
           ch_len += preedit_len_chars;
 
@@ -1272,7 +1278,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, ientry->item_n_bytes);
         }
       else
         {
diff --git a/gtkextra/gtkitementry.h b/gtkextra/gtkitementry.h
index 839c2a8..f058c76 100644
--- a/gtkextra/gtkitementry.h
+++ b/gtkextra/gtkitementry.h
@@ -43,6 +43,8 @@ struct _GtkItemEntry
   GtkEntry parent;
 
   gint text_max_size;
+  gint16 item_text_size;
+  gint16 item_n_bytes;
 
   GtkJustification justification;
 };


Index: gtk+extra.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gtk+extra/devel/gtk+extra.spec,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -p -r1.14 -r1.15
--- gtk+extra.spec	25 Jul 2009 01:39:57 -0000	1.14
+++ gtk+extra.spec	1 Aug 2009 00:13:30 -0000	1.15
@@ -1,6 +1,6 @@
 Name:		gtk+extra
 Version:	2.1.1
-Release:	11%{?dist}
+Release:	12%{?dist}
 Summary:	A library of gtk+ widgets
 Summary(fr):	Une bibliothèque de widgets gtk+
 
@@ -10,7 +10,8 @@ URL:		http://gtkextra.sourceforge.net/
 Source:		http://dl.sf.net/scigraphica/gtk+extra-%{version}.tar.gz
 Patch:		%{name}-%{version}.g_free.diff
 Patch1:		%{name}-%{version}-deleterow.patch
-BuildRoot: 	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Patch2:		%{name}-%{version}-item.patch
+BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:	gtk2-devel
 
@@ -26,8 +27,8 @@ GtkSheet, GtkPlot et GtkIconList
 Summary:	A library of gtk+ widgets
 Summary(fr):	Une bibliothèque de widgets gtk+
 Group:		Development/Libraries
-Requires:       %{name} = %{version}-%{release}
-Requires:       gtk2-devel
+Requires:	%{name} = %{version}-%{release}
+Requires:	gtk2-devel
 
 %description devel
 The %{name}-devel package includes the static libraries, header files,
@@ -47,6 +48,7 @@ qui utilisent les widgets gtk+extra.
 
 %patch -p0
 %patch1 -p1
+%patch2 -p1
 
 %build
 %configure
@@ -81,6 +83,9 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Sat Aug 01 2009 Roy Rankin <rrankin[AT]ihug[DOT]com[DOT]au> - 2.1.1-12
+- Patch to compile with gtk2-2.17.5
+
 * Fri Jul 24 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.1.1-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
 




More information about the scm-commits mailing list