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(a)lists.fedoraproject.org> -
2.1.1-11
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild