rpms/gtk+/devel gtk+-1.2.10-alignment.patch, NONE, 1.1 gtk+-1.2.10-bellvolume.patch, NONE, 1.1 gtk+-1.2.10-clistfocusrow.patch, NONE, 1.1 gtk+-1.2.10-ctext.patch, NONE, 1.1 gtk+-1.2.10-deletedir.patch, NONE, 1.1 gtk+-1.2.10-dndorder.patch, NONE, 1.1 gtk+-1.2.10-encoding.patch, NONE, 1.1 gtk+-1.2.10-expose.patch, NONE, 1.1 gtk+-1.2.10-focus.patch, NONE, 1.1 gtk+-1.2.10-fontwarning.patch, NONE, 1.1 gtk+-1.2.10-gtkgdkdep.patch, NONE, 1.1 gtk+-1.2.10-kpenter.patch, NONE, 1.1 gtk+-1.2.10-libtool.patch, NONE, 1.1 gtk+-1.2.10-localecrash.patch, NONE, 1.1 gtk+-1.2.10-missingchar.patch, NONE, 1.1 gtk+-1.2.10-no_undefined.patch, NONE, 1.1 gtk+-1.2.10-pixmapref.patch, NONE, 1.1 gtk+-1.2.10-ppc64.patch, NONE, 1.1 gtk+-1.2.10-themeswitch.patch, NONE, 1.1 gtk+-1.2.10-troughpaint.patch, NONE, 1.1 gtk+-1.2.10-ukfont.patch, NONE, 1.1 gtk+-1.2.10-utf8fontset.patch, NONE, 1.1 gtk+-1.2.6-ahiguti.patch, NONE, 1.1 gtk+-1.2.8-wrap-alnum.patch, NONE, 1.1 gtk+-underquoted.patch, NONE, 1.1 gtk+.spec, NONE, 1.1 gtkrc-default, NONE, 1.1 gtkrc.ja.utf8, NONE, 1.1 gtkrc.ko.utf8, NONE, 1.1 gtkrc.zh_CN.utf8, NONE, 1.1 gtkrc.zh_TW.utf8, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Rex Dieter (rdieter) fedora-extras-commits at redhat.com
Thu May 4 16:05:39 UTC 2006


Author: rdieter

Update of /cvs/extras/rpms/gtk+/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv18508/devel

Modified Files:
	.cvsignore sources 
Added Files:
	gtk+-1.2.10-alignment.patch gtk+-1.2.10-bellvolume.patch 
	gtk+-1.2.10-clistfocusrow.patch gtk+-1.2.10-ctext.patch 
	gtk+-1.2.10-deletedir.patch gtk+-1.2.10-dndorder.patch 
	gtk+-1.2.10-encoding.patch gtk+-1.2.10-expose.patch 
	gtk+-1.2.10-focus.patch gtk+-1.2.10-fontwarning.patch 
	gtk+-1.2.10-gtkgdkdep.patch gtk+-1.2.10-kpenter.patch 
	gtk+-1.2.10-libtool.patch gtk+-1.2.10-localecrash.patch 
	gtk+-1.2.10-missingchar.patch gtk+-1.2.10-no_undefined.patch 
	gtk+-1.2.10-pixmapref.patch gtk+-1.2.10-ppc64.patch 
	gtk+-1.2.10-themeswitch.patch gtk+-1.2.10-troughpaint.patch 
	gtk+-1.2.10-ukfont.patch gtk+-1.2.10-utf8fontset.patch 
	gtk+-1.2.6-ahiguti.patch gtk+-1.2.8-wrap-alnum.patch 
	gtk+-underquoted.patch gtk+.spec gtkrc-default gtkrc.ja.utf8 
	gtkrc.ko.utf8 gtkrc.zh_CN.utf8 gtkrc.zh_TW.utf8 
Log Message:
auto-import gtk+-1.2.10-52 on branch devel from gtk+-1.2.10-52.src.rpm

gtk+-1.2.10-alignment.patch:

--- NEW FILE gtk+-1.2.10-alignment.patch ---
--- gtk+-1.2.10/gtk/gtktypeutils.h.alignment	Fri Aug 18 17:36:34 2000
+++ gtk+-1.2.10/gtk/gtktypeutils.h	Tue Jul  3 21:07:40 2001
@@ -191,6 +191,13 @@
   GtkTypeClass	*klass;
 };
 
+#ifdef __GNUC__
+struct _GtkTypeClassDummyAlign
+{
+  GtkType type;
+  guint *signals;
+};
+#endif /* __GNUC__ */
 
 /* A GtkTypeClass defines the minimum structure requirements for
  * a types class. Classes returned from gtk_type_class () and
@@ -203,7 +210,11 @@
    *  one unique identifier per class.
    */
   GtkType type;
-};
+}
+#ifdef __GNUC__
+__attribute__ ((aligned (__alignof (struct _GtkTypeClassDummyAlign))))
+#endif /* __GNUC__ */
+;
 
 
 struct _GtkArg

gtk+-1.2.10-bellvolume.patch:

--- NEW FILE gtk+-1.2.10-bellvolume.patch ---
--- gtk+-1.2.10/gdk/gdk.c.bellvolume	Wed Jan 15 12:32:25 2003
+++ gtk+-1.2.10/gdk/gdk.c	Wed Jan 15 12:32:28 2003
@@ -989,7 +989,7 @@
 void
 gdk_beep (void)
 {
-  XBell(gdk_display, 100);
+  XBell(gdk_display, 0);
 }
 
 /*

gtk+-1.2.10-clistfocusrow.patch:

--- NEW FILE gtk+-1.2.10-clistfocusrow.patch ---
Index: gtk/gtkclist.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkclist.c,v
retrieving revision 1.156.2.25
retrieving revision 1.156.2.26
diff -u -p -r1.156.2.25 -r1.156.2.26
--- gtk/gtkclist.c	1 Mar 2001 00:18:20 -0000	1.156.2.25
+++ gtk/gtkclist.c	14 Dec 2002 04:17:03 -0000	1.156.2.26
@@ -2800,10 +2800,6 @@ real_remove_row (GtkCList *clist,
     clist->row_list_end = g_list_previous (list);
   g_list_remove (list, clist_row);
 
-  /*if (clist->focus_row >=0 &&
-      (row <= clist->focus_row || clist->focus_row >= clist->rows))
-      clist->focus_row--;*/
-
   if (row < ROW_FROM_YPIXEL (clist, 0))
     clist->voffset += clist->row_height + CELL_SPACING;
 
@@ -4331,7 +4327,9 @@ sync_selection (GtkCList *clist,
 	clist->focus_row += d;
       if (clist->focus_row == -1 && clist->rows >= 1)
 	clist->focus_row = 0;
-      else if (clist->focus_row >= clist->rows)
+      else if (d < 0 && clist->focus_row >= clist->rows - 1)
+	clist->focus_row = clist->rows - 2;
+      else if (clist->focus_row >= clist->rows)	/* Paranoia */
 	clist->focus_row = clist->rows - 1;
     }
 

gtk+-1.2.10-ctext.patch:

--- NEW FILE gtk+-1.2.10-ctext.patch ---
--- gtk+-1.2.10/gdk/gdkselection.c.ctext	Thu Jul  5 12:41:42 2001
+++ gtk+-1.2.10/gdk/gdkselection.c	Thu Jul  5 12:45:25 2001
@@ -191,73 +191,6 @@
   gdk_send_xevent (requestor, False, NoEventMask, (XEvent*) &xevent);
 }
 
-
-/* The output of XmbTextPropertyToTextList may include stuff not valid
- * for COMPOUND_TEXT. This routine tries to correct this by:
- *
- * a) Canonicalizing CR LF and CR to LF
- * b) Stripping out all other non-allowed control characters
- *
- * See the COMPOUND_TEXT spec distributed with X for explanations
- * what is allowed.
- */
-static gchar *
-sanitize_ctext (const char *str,
-		gint       *length)
-{
-  gchar *result = g_malloc (*length + 1);
-  gint out_length = 0;
-  gint i;
-  const guchar *ustr = (const guchar *)str;
-
-  for (i=0; i < *length; i++)
-    {
-      guchar c = ustr[i];
-      
-      if (c == '\r')
-	{
-	  result[out_length++] = '\n';
-	  if (i + 1 < *length && ustr[i + 1] == '\n')
-	    i++;
-	}
-      else if (c == 27 /* ESC */)
-	{
-	  /* Check for "extended segments, which can contain arbitrary
-	   * octets. See CTEXT spec, section 6.
-	   */
-
-	  if (i + 5 < *length &&
-	      ustr[i + 1] == '%' &&
-	      ustr[i + 2] == '/' &&
-	      (ustr[i + 3] >= 48 && ustr[i + 3] <= 52) &&
-	      ustr[i + 4] >= 128 &&
-	      ustr[i + 5] >= 128)
-	    {
-	      int extra_len = 6 + (ustr[i + 4] - 128) * 128 + ustr[i + 5] - 128;
-	      extra_len = MAX (extra_len, *length - i);
-
-	      memcpy (result + out_length, ustr + i, extra_len);
-	      out_length += extra_len;
-	      i += extra_len - 1;
-	    }
-	  else
-	    result[out_length++] = c;	    
-	}
-      else if (c == '\n' || c == '\t' || c == 27 /* ESC */ ||
-	       (c >= 32 && c <= 127) ||	/* GL */
-	       c == 155 /* CONTROL SEQUENCE INTRODUCER */ ||	
-	       (c >= 160 && c <= 255)) /* GR */
-	{
-	  result[out_length++] = c;
-	}
-    }
-
-  result[out_length] = '\0';
-  *length = out_length;
-  
-  return result;
-}
-
 gint
 gdk_text_property_to_text_list (GdkAtom encoding, gint format, 
 				guchar *text, gint length,
@@ -266,32 +199,16 @@
   XTextProperty property;
   gint count = 0;
   gint res;
-  gchar *sanitized_text = NULL;
 
   if (!list) 
     return 0;
 
   property.encoding = encoding;
   property.format = format;
-
-  if (encoding == gdk_atom_intern ("COMPOUND_TEXT", FALSE) && format == 8)
-    {
-      gint sanitized_text_length = length;
-      
-      property.value = sanitized_text = sanitize_ctext (text, &sanitized_text_length);
-      property.nitems = sanitized_text_length;
-    }
-  else
-    {
-      property.value = text;
-      property.nitems = length;
-    }
-  
+  property.value = text;
+  property.nitems = length;
   res = XmbTextPropertyToTextList (GDK_DISPLAY(), &property, list, &count);
 
-  if (sanitized_text)
-    g_free (sanitized_text);
-
   if (res == XNoMemory || res == XLocaleNotSupported || 
       res == XConverterNotFound)
     return 0;
@@ -314,8 +231,6 @@
 {
   gint res;
   XTextProperty property;
-  gint sanitized_text_length;
-  gchar *sanitized_text;
 
   res = XmbTextListToTextProperty (GDK_DISPLAY(), 
 				   (char **)&str, 1, XCompoundTextStyle,
@@ -334,17 +249,10 @@
     *encoding = property.encoding;
   if (format)
     *format = property.format;
-
-  sanitized_text_length = property.nitems;
-  sanitized_text = sanitize_ctext (property.value, &sanitized_text_length);
-
   if (ctext)
-    *ctext = sanitized_text;
-  else
-    g_free (sanitized_text);
-  
+    *ctext = g_strdup (property.value);
   if (length)
-    *length = sanitized_text_length;
+    *length = property.nitems;
 
   if (property.value)
     XFree (property.value);

gtk+-1.2.10-deletedir.patch:

--- NEW FILE gtk+-1.2.10-deletedir.patch ---
--- gtk+-1.2.10/gtk/gtkfilesel.c.deletedir	Thu Feb 15 23:36:19 2001
+++ gtk+-1.2.10/gtk/gtkfilesel.c	Wed Apr 17 20:36:25 2002
@@ -325,7 +325,8 @@
 
 static void gtk_file_selection_populate      (GtkFileSelection      *fs,
 					      gchar                 *rel_path,
-					      gint                   try_complete);
+					      gboolean               try_complete,
+					      gboolean               reset_entry);
 static void gtk_file_selection_abort         (GtkFileSelection      *fs);
 
 static void gtk_file_selection_update_history_menu (GtkFileSelection       *fs,
@@ -522,7 +523,7 @@
     }
   else
     {
-      gtk_file_selection_populate (filesel, "", FALSE);
+      gtk_file_selection_populate (filesel, "", FALSE, TRUE);
     }
 
   gtk_widget_grab_focus (filesel->selection_entry);
@@ -637,7 +638,7 @@
       name = last_slash + 1;
     }
 
-  gtk_file_selection_populate (filesel, buf, FALSE);
+  gtk_file_selection_populate (filesel, buf, FALSE, TRUE);
 
   if (filesel->selection_entry)
     gtk_entry_set_text (GTK_ENTRY (filesel->selection_entry), name);
@@ -673,7 +674,7 @@
 
   if (filesel->selection_entry)
     gtk_entry_set_text (GTK_ENTRY (filesel->selection_entry), pattern);
-  gtk_file_selection_populate (filesel, (gchar*) pattern, TRUE);
+  gtk_file_selection_populate (filesel, (gchar*) pattern, TRUE, TRUE);
 }
 
 static void
@@ -806,7 +807,7 @@
   g_free (full_path);
   
   gtk_widget_destroy (fs->fileop_dialog);
-  gtk_file_selection_populate (fs, "", FALSE);
+  gtk_file_selection_populate (fs, "", FALSE, FALSE);
 }
   
 static void
@@ -903,7 +904,7 @@
   g_free (full_path);
   
   gtk_widget_destroy (fs->fileop_dialog);
-  gtk_file_selection_populate (fs, "", FALSE);
+  gtk_file_selection_populate (fs, "", FALSE, TRUE);
 }
 
 static void
@@ -1009,8 +1010,9 @@
   g_free (new_filename);
   g_free (old_filename);
   
+  gtk_file_selection_populate (fs, "", FALSE, FALSE);
+  gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), file);
   gtk_widget_destroy (fs->fileop_dialog);
-  gtk_file_selection_populate (fs, "", FALSE);
 }
   
 static void
@@ -1112,7 +1114,7 @@
 
       text = g_strdup (text);
 
-      gtk_file_selection_populate (fs, text, TRUE);
+      gtk_file_selection_populate (fs, text, TRUE, TRUE);
 
       g_free (text);
 
@@ -1124,7 +1126,6 @@
   return FALSE;
 }
 
-
 static void
 gtk_file_selection_history_callback (GtkWidget *widget, gpointer data)
 {
@@ -1142,7 +1143,7 @@
     
     if (callback_arg->menu_item == widget)
       {
-	gtk_file_selection_populate (fs, callback_arg->directory, FALSE);
+	gtk_file_selection_populate (fs, callback_arg->directory, FALSE, FALSE);
 	break;
       }
     
@@ -1272,7 +1273,7 @@
 			       gpointer user_data)
 {
   GtkFileSelection *fs = NULL;
-  gchar *filename, *temp = NULL;
+  gchar *filename = NULL;
 
   g_return_if_fail (GTK_IS_CLIST (widget));
 
@@ -1280,39 +1281,23 @@
   g_return_if_fail (fs != NULL);
   g_return_if_fail (GTK_IS_FILE_SELECTION (fs));
 
-  gtk_clist_get_text (GTK_CLIST (fs->dir_list), row, 0, &temp);
-  filename = g_strdup (temp);
-
-  if (filename)
-    {
-      if (bevent)
-	switch (bevent->type)
-	  {
-	  case GDK_2BUTTON_PRESS:
-	    gtk_file_selection_populate (fs, filename, FALSE);
-	    break;
-	  
-	  default:
-	    gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), filename);
-	    break;
-	  }
-      else
-	gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), filename);
-
-      g_free (filename);
-    }
+  gtk_clist_get_text (GTK_CLIST (fs->dir_list), row, 0, &filename);
+  
+  if (filename && bevent && bevent->type == GDK_2BUTTON_PRESS)
+    gtk_file_selection_populate (fs, filename, FALSE, FALSE);
 }
 
 static void
 gtk_file_selection_populate (GtkFileSelection *fs,
 			     gchar            *rel_path,
-			     gint              try_complete)
+			     gboolean          try_complete,
+			     gboolean          reset_entry)
 {
   CompletionState *cmpl_state;
   PossibleCompletion* poss;
   gchar* filename;
   gint row;
-  gchar* rem_path = rel_path;
+  gchar* rem_path;
   gchar* sel_text;
   gchar* text[2];
   gint did_recurse = FALSE;
@@ -1323,6 +1308,8 @@
   
   g_return_if_fail (fs != NULL);
   g_return_if_fail (GTK_IS_FILE_SELECTION (fs));
+
+  rem_path = rel_path = g_strdup (rel_path);
   
   cmpl_state = (CompletionState*) fs->cmpl_state;
   poss = cmpl_completion_matches (rel_path, &rem_path, cmpl_state);
@@ -1422,7 +1409,7 @@
 
               did_recurse = TRUE;
 
-              gtk_file_selection_populate (fs, dir_name, TRUE);
+              gtk_file_selection_populate (fs, dir_name, TRUE, TRUE);
 
               g_free (dir_name);
             }
@@ -1441,7 +1428,7 @@
 	    gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), rem_path);
         }
     }
-  else
+  else if (reset_entry)
     {
       if (fs->selection_entry)
 	gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), "");
@@ -1466,8 +1453,9 @@
 	{
 	  gtk_file_selection_update_history_menu (fs, cmpl_reference_position (cmpl_state));
 	}
-      
     }
+
+  g_free (rel_path);
 }
 
 static void

gtk+-1.2.10-dndorder.patch:

--- NEW FILE gtk+-1.2.10-dndorder.patch ---
Index: gdk/gdkdnd.c
===================================================================
RCS file: /cvs/gnome/gtk+/gdk/gdkdnd.c,v
retrieving revision 1.25.2.7
retrieving revision 1.25.2.9
diff -u -p -r1.25.2.7 -r1.25.2.9
--- gdk/gdkdnd.c	13 Mar 2000 23:41:53 -0000	1.25.2.7
+++ gdk/gdkdnd.c	14 May 2002 22:14:15 -0000	1.25.2.9
@@ -275,12 +275,16 @@ gdk_window_cache_filter (GdkXEvent *xev,
 							 GUINT_TO_POINTER (xce->above));
 		if (above_node && node->prev != above_node)
 		  {
+		    /* Put the window above (before in the list) above_node
+		     */
 		    cache->children = g_list_remove_link (cache->children, node);
-		    node->next = above_node->next;
-		    if (node->next)
-		      node->next->prev = node;
-		    node->prev = above_node;
-		    above_node->next = node;
+		    node->prev = above_node->prev;
+		    if (node->prev)
+		      node->prev->next = node;
+		    else
+		      cache->children = node;
+		    node->next = above_node;
+		    above_node->prev = node;
 		  }
 	      }
 	  }

gtk+-1.2.10-encoding.patch:

--- NEW FILE gtk+-1.2.10-encoding.patch ---
--- gtk+-1.2.10/gtk/gtkrc.iso88593.encoding	Fri Jul 26 16:47:04 2002
+++ gtk+-1.2.10/gtk/gtkrc.iso88593	Fri Jul 26 16:47:04 2002
@@ -0,0 +1,8 @@
+style "gtk-default-iso-8859-3" {
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-3,\
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-3,*-r-*"
+}
+class "GtkWidget" style "gtk-default-iso-8859-3"
+
--- gtk+-1.2.10/gtk/Makefile.am.encoding	Fri Feb  2 12:09:02 2001
+++ gtk+-1.2.10/gtk/Makefile.am	Fri Jul 26 16:47:04 2002
@@ -374,10 +374,12 @@
 
 
 gtkconfdir = $(sysconfdir)/gtk
-gtkconf_DATA = gtkrc.az gtkrc.el gtkrc.eo gtkrc.he gtkrc.hy gtkrc.ja \
-	gtkrc.ko gtkrc.ru gtkrc.tr gtkrc.th gtkrc.uk gtkrc.iso-8859-2 \
-	gtkrc.iso-8859-5 gtkrc.iso-8859-13 gtkrc.iso-8859-14 \
-	gtkrc.iso-8859-15 gtkrc.zh_CN gtkrc.zh_TW.big5 \
+gtkconf_DATA = gtkrc.az gtkrc.he gtkrc.hy gtkrc.ja \
+	gtkrc.ko gtkrc.ru gtkrc.th gtkrc.uk \
+	gtkrc.utf8 gtkrc.iso88592 \
+	gtkrc.iso88593 gtkrc.iso88595 gtkrc.iso88597 \
+	gtkrc.iso88599 gtkrc.iso885913 gtkrc.iso885914 \
+	gtkrc.iso885915 gtkrc.zh_CN gtkrc.zh_TW.big5 \
 	gtkrc.ka_GE.georgianacademy gtkrc.ka_GE.georgianps \
 	gtkrc.vi_VN.tcvn gtkrc.vi_VN.viscii gtkrc.cp1251 gtkrc.cp1255
 
@@ -390,11 +392,11 @@
 	cd $(DESTDIR)$(gtkconfdir) && \
 	  for i in cs hr hu pl ro sk sl sq sr ; do \
 	    rm -f gtkrc.$$i ; \
-	    ln -s gtkrc.iso-8859-2 gtkrc.$$i ; \
+	    ln -s gtkrc.iso88592 gtkrc.$$i ; \
 	  done ; \
 	  for i in bg_BG.iso88595 mk sp ru_RU.iso88595 ; do \
 	    rm -f gtkrc.$$i ; \
-	    ln -s gtkrc.iso-8859-5 gtkrc.$$i ; \
+	    ln -s gtkrc.iso88595 gtkrc.$$i ; \
 	  done ; \
 	  for i in he_IL.cp1255 he_IL.microsoftcp1255 yi ; do \
 	    rm -f gtkrc.$$i ; \
@@ -403,12 +405,12 @@
 	rm -f gtkrc.lt gtkrc.lv gtkrc.cy gtkrc.ga gtkrc.et gtkrc.ka \
 	     gtkrc.vi_VN.viscii111 gtkrc.vi_VN.tcvn5712 gtkrc.vi \
 	     gtkrc.be gtkrc.bg gtkrc.mi ; \
-	ln -s gtkrc.iso-8859-13 gtkrc.mi ; \
-	ln -s gtkrc.iso-8859-13 gtkrc.lt ; \
-	ln -s gtkrc.iso-8859-13 gtkrc.lv ; \
-	ln -s gtkrc.iso-8859-14 gtkrc.cy ; \
-	ln -s gtkrc.iso-8859-14 gtkrc.ga ; \
-	ln -s gtkrc.iso-8859-15 gtkrc.et ; \
+	ln -s gtkrc.iso885913 gtkrc.mi ; \
+	ln -s gtkrc.iso885913 gtkrc.lt ; \
+	ln -s gtkrc.iso885913 gtkrc.lv ; \
+	ln -s gtkrc.iso885914 gtkrc.cy ; \
+	ln -s gtkrc.iso885914 gtkrc.ga ; \
+	ln -s gtkrc.iso885915 gtkrc.et ; \
 	ln -s gtkrc.ka_GE.georgianps gtkrc.ka ; \
 	ln -s gtkrc.vi_VN.viscii gtkrc.vi_VN.viscii111 ; \
 	ln -s gtkrc.vi_VN.tcvn gtkrc.vi ; \
--- gtk+-1.2.10/gtk/gtkrc.c.encoding	Thu Mar 15 13:41:40 2001
+++ gtk+-1.2.10/gtk/gtkrc.c	Fri Jul 26 16:49:24 2002
@@ -33,6 +33,7 @@
 #include <string.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <langinfo.h>
 
 #include "gtkrc.h"
 #include "gtkbindings.h"
@@ -440,7 +441,7 @@
 void
 gtk_rc_init (void)
 {
-  static gchar *locale_suffixes[3];
+  static gchar *locale_suffixes[8];
   static gint n_locale_suffixes = 0;
 
   gint i, j;
@@ -449,9 +450,7 @@
 
   if (!initted)
     {
-      gint length;
-      
-      char *locale = setlocale (LC_CTYPE, NULL);
+      char *locale = g_strdup (setlocale (LC_CTYPE, NULL));
       char *p;
       
       initted = TRUE;
@@ -470,39 +469,88 @@
 	   * We normalize the charset into a standard form,
 	   * which has all '-' and '_' characters removed,
 	   * and is lowercase.
+	   *
+	   * the search is done in that order:
+	   * gtkrc.ll_cc.lowercasecodeset
+	   * gtkrc.ll_cc.normalizedcodeset
+	   * gtkrc.ll.lowercasecodeset
+	   * gtkrc.ll.normalizedcodeset
+	   * gtkrc.lowercasecodeset
+	   * gtkrc.normalizedcodeset
+	   * gtkrc.ll_cc
+	   * gtkrc.ll
+	   * 
 	   */
-	  gchar *normalized_locale;
+	  char *codeset = NULL;
+	  char *normalized_codeset = NULL;
+	  char *cc = NULL;
+	  char *ll;
 
 	  p = strchr (locale, '@');
-	  length = p ? (p -locale) : strlen (locale);
+	  if (p)
+	    *p = '\0';
 
+	  codeset = nl_langinfo (CODESET);
+	  
 	  p = strchr (locale, '.');
+	  if (!codeset && p)
+	    codeset = p + 1;
 	  if (p)
+	    *p = '\0';
+	  
+	  if (codeset)
 	    {
-	      gchar *tmp1 = g_strndup (locale, p - locale + 1);
-	      gchar *tmp2 = _gtk_normalize_codeset (p + 1, length - (p - locale + 1));
+	      codeset = g_strdup (codeset);
 	      
-	      normalized_locale = g_strconcat (tmp1, tmp2, NULL);
-	      g_free (tmp1);
-	      g_free (tmp2);
-						 
-	      locale_suffixes[n_locale_suffixes++] = g_strdup (normalized_locale);
-	      length = p - locale;
+	      p = codeset;
+	      while (*p)
+		{
+		  /* tolower not used, because some locales are not
+		   * compatible with C locale in lowercasing ascii
+		   */
+		  if (*p >= 'A' && *p <= 'Z')
+		    *p = (*p) - 'A' + 'a';
+		  p++;
+		}
+	      
+	      normalized_codeset = _gtk_normalize_codeset(codeset, strlen (codeset));
+	      if (strcmp (normalized_codeset, codeset) == 0)
+		{
+		  g_free (normalized_codeset);
+		  normalized_codeset = NULL;
+		}
 	    }
-	  else
-	    normalized_locale = g_strndup (locale, length);
 	  
-	  p = strchr (normalized_locale, '_');
+	  p = strchr (locale, '_');
 	  if (p)
 	    {
-	      locale_suffixes[n_locale_suffixes++] = g_strndup (normalized_locale, length);
-	      length = p - normalized_locale;
+	      cc = p + 1;
+	      *p = '\0';
 	    }
-	  
-	  locale_suffixes[n_locale_suffixes++] = g_strndup (normalized_locale, length);
 
-	  g_free (normalized_locale);
+	  ll = locale;	
+	
+	  if (cc && codeset)
+	    locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, "_", cc, ".", codeset, NULL);
+          if (cc && normalized_codeset)
+	    locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, "_", cc, ".", normalized_codeset, NULL);
+	  if (codeset)
+            locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, ".", codeset, NULL);
+          if (normalized_codeset)
+	    locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, ".", normalized_codeset, NULL);
+	  if (codeset)
+	    locale_suffixes[n_locale_suffixes++] = g_strdup (codeset);
+	  if (normalized_codeset)
+	    locale_suffixes[n_locale_suffixes++] = g_strdup (normalized_codeset);
+	  if (cc)
+            locale_suffixes[n_locale_suffixes++] = g_strconcat (ll, "_", cc, NULL);
+	  locale_suffixes[n_locale_suffixes++] = g_strdup (ll);
+
+	  g_free (normalized_codeset);
+	  g_free (codeset);
 	}
+
+      g_free (locale);
     }
   
   i = 0;
--- gtk+-1.2.10/gtk/gtkrc.iso88599.encoding	Fri Jul 26 16:47:04 2002
+++ gtk+-1.2.10/gtk/gtkrc.iso88599	Fri Jul 26 16:47:04 2002
@@ -0,0 +1,8 @@
+style "gtk-default-iso-8859-9" {
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-9,\
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-9,*-r-*"
+}
+class "GtkWidget" style "gtk-default-iso-8859-9"
+
--- gtk+-1.2.10/gtk/gtkrc.utf8.encoding	Fri Jul 26 16:47:04 2002
+++ gtk+-1.2.10/gtk/gtkrc.utf8	Fri Jul 26 16:47:04 2002
@@ -0,0 +1,7 @@
+style "default-text" {
+       fontset = "-*-helvetica-medium-r-normal--*-120-*-*-p-*-*-*"
+
+}
+
+class "GtkWidget" style "default-text"
+
--- gtk+-1.2.10/gtk/gtkrc.iso885913.encoding	Fri Jul 26 16:47:04 2002
+++ gtk+-1.2.10/gtk/gtkrc.iso885913	Fri Jul 26 16:47:04 2002
@@ -0,0 +1,7 @@
+style "gtk-default-iso-8859-13" {
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-13,\
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-13,*-r-*"
+}
+class "GtkWidget" style "gtk-default-iso-8859-13"
--- gtk+-1.2.10/gtk/gtkrc.iso885914.encoding	Fri Jul 26 16:47:04 2002
+++ gtk+-1.2.10/gtk/gtkrc.iso885914	Fri Jul 26 16:47:04 2002
@@ -0,0 +1,8 @@
+style "gtk-default-iso-8859-14" {
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-14,\
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-14,*-r-*"
+}
+class "GtkWidget" style "gtk-default-iso-8859-14"
+
--- gtk+-1.2.10/gtk/gtkrc.iso885915.encoding	Fri Jul 26 16:47:04 2002
+++ gtk+-1.2.10/gtk/gtkrc.iso885915	Fri Jul 26 16:47:04 2002
@@ -0,0 +1,8 @@
+style "gtk-default-iso-8859-15" {
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-15,\
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-15,*-r-*"
+}
+class "GtkWidget" style "gtk-default-iso-8859-15"
+
--- gtk+-1.2.10/gtk/gtkrc.iso88592.encoding	Fri Jul 26 16:47:04 2002
+++ gtk+-1.2.10/gtk/gtkrc.iso88592	Fri Jul 26 16:47:04 2002
@@ -0,0 +1,14 @@
+#$(gtkconfigdir)/gtkrc.iso-8859-2
+#
+# This file defines the fontsets for iso-8859-2 encoding
+# make symliks or hardlinks to gtkrc.$LANG if your language uses iso-8859-2
+# and a gtkrc.$LANG doesn't exist yet.
+
+style  "gtk-default-iso-8859-2" {
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-2,\
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-2,*-r-*"
+}
+class "GtkWidget" style "gtk-default-iso-8859-2"
+
--- gtk+-1.2.10/gtk/gtkrc.iso88595.encoding	Fri Jul 26 16:47:04 2002
+++ gtk+-1.2.10/gtk/gtkrc.iso88595	Fri Jul 26 16:47:04 2002
@@ -0,0 +1,14 @@
+#$(gtkconfigdir)/gtkrc.iso-8859-5
+#
+# This file defines the fontsets for iso-8859-5 encoding
+# make symliks or hardlinks to gtkrc.$LANG if your language uses iso-8859-5
+# and a gtkrc.$LANG doesn't exist yet.
+
+style "gtk-default-iso-8859-5" {
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+                  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-5,\
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-5,*-r-*"
+}
+class "GtkWidget" style "gtk-default-iso-8859-5"
+
--- gtk+-1.2.10/gtk/gtkrc.iso88597.encoding	Fri Jul 26 16:47:04 2002
+++ gtk+-1.2.10/gtk/gtkrc.iso88597	Fri Jul 26 16:47:04 2002
@@ -0,0 +1,8 @@
+style "gtk-default-iso-8859-7" {
+       fontset = "-*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-7,\
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-7,*-r-*"
+}
+class "GtkWidget" style "gtk-default-iso-8859-7"
+

gtk+-1.2.10-expose.patch:

--- NEW FILE gtk+-1.2.10-expose.patch ---
--- gtk+-1.2.10/gdk/gdkevents.c.expose	Sun Dec  3 11:02:49 2000
+++ gtk+-1.2.10/gdk/gdkevents.c	Wed Jul 11 15:54:18 2001
@@ -383,6 +383,7 @@
 struct _GdkExposeInfo
 {
   Window window;
+  GdkWindowPrivate *toplevel_window;
   gboolean seen_nonmatching;
 };
 
@@ -400,10 +401,21 @@
    * we'll get a whole bunch of them interspersed with
    * expose events.
    */
-  if (xevent->xany.type != Expose && 
-      xevent->xany.type != GravityNotify)
+  switch (xevent->xany.type)
     {
+    case Expose:
+    case GravityNotify:
+      break;
+    case ConfigureNotify:
+      if (xevent->xconfigure.window != info->toplevel_window->xwindow)
+	break;
+      if (xevent->xconfigure.width == info->toplevel_window->width &&
+	  xevent->xconfigure.height == info->toplevel_window->height)
+	break;
+      /* Fall through */
+    default:
       info->seen_nonmatching = TRUE;
+      break;
     }
 
   if (info->seen_nonmatching ||
@@ -429,6 +441,7 @@
   GdkEvent event;
 
   info.window = xevent->xany.window;
+  info.toplevel_window = (GdkWindowPrivate *) gdk_window_get_toplevel (window);
   info.seen_nonmatching = FALSE;
   
   rect1.x = xevent->xexpose.x;

gtk+-1.2.10-focus.patch:

--- NEW FILE gtk+-1.2.10-focus.patch ---
--- gtk+-1.2.10/gtk/gtkwindow.c.focus	Fri Mar  9 18:39:16 2001
+++ gtk+-1.2.10/gtk/gtkwindow.c	Thu Jul  5 10:34:00 2001
@@ -985,7 +985,13 @@
       break;
     case EnterNotify:
     case LeaveNotify:
-      if (xev->xcrossing.detail != NotifyInferior &&
+      /* We only track the actual destination of keyboard events for real
+       * toplevels, not for embedded toplevels such as GtkPlug. The reason for
+       * this is that GtkPlug redirects events so the widget may effectively not
+       * have the focus even if it actually has the focus.
+       */
+      if (gdk_window_get_parent (GTK_WIDGET (window)->window) == GDK_ROOT_PARENT () &&
+	  xev->xcrossing.detail != NotifyInferior &&
 	  xev->xcrossing.focus && !window->window_has_focus)
 	{
 	  window->window_has_pointer_focus = (xev->xany.type == EnterNotify) ? TRUE : FALSE;

gtk+-1.2.10-fontwarning.patch:

--- NEW FILE gtk+-1.2.10-fontwarning.patch ---
--- gtk+-1.2.10/gdk/gdkfont.c.fontwarning	Fri Apr 12 17:33:55 2002
+++ gtk+-1.2.10/gdk/gdkfont.c	Fri Apr 12 17:36:52 2002
@@ -27,6 +27,7 @@
 #include <X11/Xlib.h>
 #include <X11/Xos.h>
 #include <langinfo.h>
+#include <locale.h>
 #include "gdk.h"
 #include "gdkprivate.h"
 
@@ -187,9 +188,11 @@
       if (g_strcasecmp (codeset, "utf-8") != 0 &&
 	  g_strcasecmp (codeset, "utf8") != 0)
 	{
-	  g_warning ("Missing charsets in FontSet creation\n");
+	  g_printerr ("The font \"%s\" does not support all the required character sets for the current locale \"%s\"\n",
+		      fontset_name, setlocale (LC_ALL, NULL));
 	  for (i=0;i<missing_charset_count;i++)
-	    g_warning ("    %s\n", missing_charset_list[i]);
+	    g_printerr ("  (Missing character set \"%s\")\n",
+			missing_charset_list[i]);
 	}
       
       XFreeStringList (missing_charset_list);

gtk+-1.2.10-gtkgdkdep.patch:

--- NEW FILE gtk+-1.2.10-gtkgdkdep.patch ---
--- gtk+-1.2.10/gtk/Makefile.am.gtkgdkdep	2003-10-15 15:20:27.000000000 -0400
+++ gtk+-1.2.10/gtk/Makefile.am	2003-10-15 15:22:50.000000000 -0400
@@ -23,6 +23,10 @@
 
 # libtool stuff: set version and export symbols for resolving
 libgtkincludedir = $(includedir)/gtk-1.2/gtk
+
+libgtk_la_DEPENDENCIES = $(top_builddir)/gdk/libgdk.la
+libgtk_la_LIBADD = $(top_builddir)/gdk/libgdk.la
+
 libgtk_la_LDFLAGS = @STRIP_BEGIN@ \
 	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)	\
 	-release $(LT_RELEASE) 					\

gtk+-1.2.10-kpenter.patch:

--- NEW FILE gtk+-1.2.10-kpenter.patch ---
--- gtk+-1.2.10/gtk/gtkentry.c.kpenter	Sat Jul 21 20:27:08 2001
+++ gtk+-1.2.10/gtk/gtkentry.c	Sat Jul 21 20:27:16 2001
@@ -1184,6 +1184,7 @@
 	}
       break;
     case GDK_Return:
+    case GDK_KP_Enter:
       return_val = TRUE;
       gtk_widget_activate (widget);
       break;
--- gtk+-1.2.10/gtk/gtktext.c.kpenter	Sat Jul 21 20:28:56 2001
+++ gtk+-1.2.10/gtk/gtktext.c	Sat Jul 21 20:29:17 2001
@@ -2055,6 +2055,7 @@
 	case GDK_Up:        scroll_int (text, -KEY_SCROLL_PIXELS); break;
 	case GDK_Down:      scroll_int (text, +KEY_SCROLL_PIXELS); break;
 	case GDK_Return:
+	case GDK_KP_Enter:
 	  if (event->state & GDK_CONTROL_MASK)
 	    gtk_signal_emit_by_name (GTK_OBJECT (text), "activate");
 	  else
@@ -2161,6 +2162,7 @@
 	  gtk_editable_insert_text (editable, "\t", 1, &position);
 	  break;
 	case GDK_Return:
+	case GDK_KP_Enter:
 	  if (event->state & GDK_CONTROL_MASK)
 	    gtk_signal_emit_by_name (GTK_OBJECT (text), "activate");
 	  else
--- gtk+-1.2.10/gtk/gtkmenushell.c.kpenter	Sat Jul 21 20:27:59 2001
+++ gtk+-1.2.10/gtk/gtkmenushell.c	Sat Jul 21 20:28:05 2001
@@ -258,6 +258,11 @@
 				GTK_TYPE_BOOL,
 				TRUE);
   gtk_binding_entry_add_signal (binding_set,
+				GDK_KP_Enter, 0,
+				"activate_current", 1,
+				GTK_TYPE_BOOL,
+				TRUE);
+  gtk_binding_entry_add_signal (binding_set,
 				GDK_space, 0,
 				"activate_current", 1,
 				GTK_TYPE_BOOL,
--- gtk+-1.2.10/gtk/gtknotebook.c.kpenter	Sat Jul 21 20:28:30 2001
+++ gtk+-1.2.10/gtk/gtknotebook.c	Sat Jul 21 20:28:38 2001
@@ -1369,6 +1369,7 @@
 	gtk_notebook_switch_focus_tab (notebook, list);
       return TRUE;
     case GDK_Return:
+    case GDK_KP_Enter:
     case GDK_space:
       gtk_notebook_page_select (GTK_NOTEBOOK (widget));
       return TRUE;

gtk+-1.2.10-libtool.patch:

--- NEW FILE gtk+-1.2.10-libtool.patch ---
--- gtk+-1.2.10/configure.libtool	Wed Jan 15 12:44:35 2003
+++ gtk+-1.2.10/configure	Wed Jan 15 12:45:29 2003
@@ -1389,11 +1389,7 @@
   echo "$ac_t""no" 1>&6
 fi
 
-
-case "$target" in
-NONE) lt_target="$host" ;;
-*) lt_target="$target" ;;
-esac
+lt_target="$host"
 
 # Check for any special flags to pass to ltconfig.
 libtool_flags="--cache-file=$cache_file"
--- gtk+-1.2.10/aclocal.m4.libtool	Wed Jan 15 12:44:47 2003
+++ gtk+-1.2.10/aclocal.m4	Wed Jan 15 12:45:42 2003
@@ -56,10 +56,7 @@
 AC_REQUIRE([AC_PROG_LN_S])dnl
 dnl
 
-case "$target" in
-NONE) lt_target="$host" ;;
-*) lt_target="$target" ;;
-esac
+lt_target="$host"
 
 # Check for any special flags to pass to ltconfig.
 libtool_flags="--cache-file=$cache_file"
--- gtk+-1.2.10/ltconfig.libtool	Wed Jan 15 12:44:58 2003
+++ gtk+-1.2.10/ltconfig	Wed Jan 15 12:46:15 2003
@@ -447,16 +447,16 @@
   host_alias=$host
 fi
 
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
 # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
 case "$host_os" in
 linux-gnu*) ;;
 linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
 esac
 
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
 case "$host_os" in
 aix3*)
   # AIX sometimes has problems with the GCC collect2 program.  For some

gtk+-1.2.10-localecrash.patch:

--- NEW FILE gtk+-1.2.10-localecrash.patch ---
--- gtk+-1.2.10/gdk/gdkselection.c.localecrash	Thu Aug 22 16:50:01 2002
+++ gtk+-1.2.10/gdk/gdkselection.c	Thu Aug 22 17:50:46 2002
@@ -238,12 +238,14 @@
   if (res != Success)
     {
       property.encoding = None;
-      property.format = None;
+      property.format = 8;
       property.value = NULL;
       property.nitems = 0;
-    }
 
-  g_assert (property.encoding == gdk_atom_intern ("COMPOUND_TEXT", FALSE) && property.format == 8);
+      g_warning ("Error converting string to compound text.\n"
+		 "This might mean that your locale setting is supported\n"
+		 "by the C library but not by Xlib.");
+    }
 
   if (encoding)
     *encoding = property.encoding;

gtk+-1.2.10-missingchar.patch:

--- NEW FILE gtk+-1.2.10-missingchar.patch ---
--- gtk+-1.2.10/gdk/gdkfont.c.missingchar	Mon Aug 13 13:37:52 2001
+++ gtk+-1.2.10/gdk/gdkfont.c	Mon Aug 13 13:39:30 2001
@@ -461,7 +461,6 @@
   GdkFontPrivate *private;
   XCharStruct *chars;
   gint width;
-  guint ch = character & 0xff;  /* get rid of sign-extension */
   XFontStruct *xfont;
   XFontSet fontset;
 
@@ -474,21 +473,7 @@
     case GDK_FONT_FONT:
       /* only 8 bits characters are considered here */
       xfont = (XFontStruct *) private->xfont;
-      if ((xfont->min_byte1 == 0) &&
-	  (xfont->max_byte1 == 0) &&
-	  (ch >= xfont->min_char_or_byte2) &&
-	  (ch <= xfont->max_char_or_byte2))
-	{
-	  chars = xfont->per_char;
-	  if (chars)
-	    width = chars[ch - xfont->min_char_or_byte2].width;
-	  else
-	    width = xfont->min_bounds.width;
-	}
-      else
-	{
-	  width = XTextWidth (xfont, &character, 1);
-	}
+      width = XTextWidth (xfont, &character, 1);
       break;
     case GDK_FONT_FONTSET:
       fontset = (XFontSet) private->xfont;

gtk+-1.2.10-no_undefined.patch:

--- NEW FILE gtk+-1.2.10-no_undefined.patch ---
--- gtk+-1.2.10/gtk/Makefile.am.no_undefined	2006-04-08 20:58:18.000000000 -0500
+++ gtk+-1.2.10/gtk/Makefile.am	2006-04-08 20:58:59.000000000 -0500
@@ -31,6 +31,7 @@
 	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)	\
 	-release $(LT_RELEASE) 					\
 	-export-dynamic						\
+	-no-undefined -Wl,--no-undefined			\
 	@GLIB_DEPLIBS@ 						\
 	@x_ldflags@						\
 	@x_libs@ 						\
--- gtk+-1.2.10/gdk/Makefile.am.no_undefined	2000-10-21 13:20:40.000000000 -0500
+++ gtk+-1.2.10/gdk/Makefile.am	2006-04-08 20:58:18.000000000 -0500
@@ -21,6 +21,7 @@
 	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
 	-release $(LT_RELEASE) \
 	-export-dynamic \
+	-no-undefined -Wl,--no-undefined \
 	@GLIB_DEPLIBS@	\
 	@x_ldflags@	\
 	@x_libs@	\

gtk+-1.2.10-pixmapref.patch:

--- NEW FILE gtk+-1.2.10-pixmapref.patch ---
--- gtk+-1.2.10/gtk/gtkstyle.c.pixmapref	Tue Feb 20 11:46:58 2001
+++ gtk+-1.2.10/gtk/gtkstyle.c	Sun Aug 12 15:42:06 2001
@@ -348,8 +348,9 @@
       new_style->bg[i] = style->bg[i];
       new_style->text[i] = style->text[i];
       new_style->base[i] = style->base[i];
-      
-      new_style->bg_pixmap[i] = style->bg_pixmap[i];
+
+      if (style->bg_pixmap[i] && !(style->rc_style && style->rc_style->bg_pixmap_name[i]))
+	new_style->bg_pixmap[i] = gdk_pixmap_ref (style->bg_pixmap[i]);
     }
   
   gdk_font_unref (new_style->font);

gtk+-1.2.10-ppc64.patch:

--- NEW FILE gtk+-1.2.10-ppc64.patch ---
--- gtk+-1.2.10/ltconfig.ppc64	2005-11-01 11:11:27.000000000 -0500
+++ gtk+-1.2.10/ltconfig	2005-11-01 11:12:42.000000000 -0500
@@ -1968,7 +1968,7 @@
   shlibpath_overrides_runpath=no
   deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
   file_magic_cmd=/usr/bin/file
-  file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
+  file_magic_test_file=`echo /lib{,64}/libc.so* /lib{,64}/libc-*.so`
 
   if test -f /lib/ld.so.1; then
     dynamic_linker='GNU ld.so'

gtk+-1.2.10-themeswitch.patch:

--- NEW FILE gtk+-1.2.10-themeswitch.patch ---
--- gtk+-1.2.10/gtk/gtkwindow.c.themeswitch	Mon Aug 13 13:42:05 2001
+++ gtk+-1.2.10/gtk/gtkwindow.c	Mon Aug 13 13:42:05 2001
@@ -859,13 +859,60 @@
   GTK_OBJECT_CLASS(parent_class)->finalize (object);
 }
 
+
+static void
+reread_rc_files ()
+{
+  if (gtk_rc_reparse_all ())
+    {
+      /* If the above returned true, some of our RC files are out
+       * of date, so we need to reset all our widgets. Our other
+       * toplevel windows will also get the message, but by
+       * then, the RC file will up to date, so we have to tell
+       * them now.
+       */
+      GList *toplevels;
+      
+      toplevels = gtk_container_get_toplevels();
+      while (toplevels)
+	{
+	  gtk_widget_reset_rc_styles (toplevels->data);
+	  toplevels = toplevels->next;
+	}
+    }
+}
+
 static void
 gtk_window_show (GtkWidget *widget)
 {
   GtkWindow *window = GTK_WINDOW (widget);
   GtkContainer *container = GTK_CONTAINER (window);
   gboolean need_resize;
+  GList *toplevels;
+  gboolean had_visible = FALSE;
 
+  /* If we have no windows shown at this point, then check for
+   * theme changes before showing the window. We really should
+   * be checking realized, not shown, but shown => realized,
+   * and checking in realize might cause reentrancy problems.
+   *
+   * Plus, this allows us to get the new size right before
+   * realizing.
+   */
+  toplevels = gtk_container_get_toplevels ();
+  while (toplevels)
+    {
+      if (GTK_WIDGET_VISIBLE (toplevels->data))
+	{
+	  had_visible = TRUE;
+	  break;
+	}
+      toplevels = toplevels->next;
+    }
+
+  if (!had_visible)
+    reread_rc_files ();
+  
   GTK_WIDGET_SET_FLAGS (widget, GTK_VISIBLE);
 
   need_resize = container->need_resize || !GTK_WIDGET_REALIZED (widget);
@@ -1480,23 +1527,7 @@
 	}
     }
 
-  if (gtk_rc_reparse_all ())
-    {
-      /* If the above returned true, some of our RC files are out
-       * of date, so we need to reset all our widgets. Our other
-       * toplevel windows will also get the message, but by
-       * then, the RC file will up to date, so we have to tell
-       * them now.
-       */
-      GList *toplevels;
-      
-      toplevels = gtk_container_get_toplevels();
-      while (toplevels)
-	{
-	  gtk_widget_reset_rc_styles (toplevels->data);
-	  toplevels = toplevels->next;
-	}
-    }
+  reread_rc_files ();
 }
 
 static gint

gtk+-1.2.10-troughpaint.patch:

--- NEW FILE gtk+-1.2.10-troughpaint.patch ---
Index: gtk/gtkrange.c
===================================================================
RCS file: /cvs/gnome/gtk+/gtk/gtkrange.c,v
retrieving revision 1.26.2.3
diff -u -p -r1.26.2.3 gtkrange.c
--- gtk/gtkrange.c	22 Feb 2001 20:38:14 -0000	1.26.2.3
+++ gtk/gtkrange.c	19 Jul 2002 15:41:58 -0000
@@ -829,7 +828,10 @@ gtk_range_expose (GtkWidget      *widget
 	    (event->area.x + event->area.width <= 
 	     widget->allocation.width - trough_border) &&
 	    (event->area.y + event->area.height <= 
-	     widget->allocation.height - trough_border)))
+	     widget->allocation.height - trough_border)) ||
+	  gtk_style_get_prop_experimental (widget->style,
+					   "GtkRange::always_draw_trough",
+					   0))
 	gtk_range_draw_trough (range);
     }
   else if (event->window == widget->window)

gtk+-1.2.10-ukfont.patch:

--- NEW FILE gtk+-1.2.10-ukfont.patch ---
--- gtk+-1.2.10/gtk/gtkrc.uk.ukfont	Wed Apr 10 19:20:40 2002
+++ gtk+-1.2.10/gtk/gtkrc.uk	Wed Apr 10 19:20:56 2002
@@ -7,10 +7,10 @@
 #
 
 style "gtk-default-uk" {
-       fontset = "-adobe-helvetica-medium-r-normal--14-*-*-*-*-*-iso8859-*,\
+       fontset = "-adobe-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-*,\
                   -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
-		  -*-helvetica-medium-r-normal--14-*-*-*-*-*-koi8-u,\
-		  -*-arial-medium-r-normal--14-*-*-*-*-*-koi8-u,*-r-*"
+		  -*-helvetica-medium-r-normal--12-*-*-*-*-*-koi8-u,\
+		  -*-arial-medium-r-normal--12-*-*-*-*-*-koi8-u,*-r-*"
 }
 class "GtkWidget" style "gtk-default-uk"
 
--- gtk+-1.2.10/gtk/gtkrc.ru.ukfont	Thu Apr 11 10:22:15 2002
+++ gtk+-1.2.10/gtk/gtkrc.ru	Mon May  8 14:49:18 2000
@@ -1,7 +1,7 @@
 style "gtk-default-ru" {
        fontset = "-adobe-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-*,\
                   -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
-                  -cronyx-helvetica-medium-r-normal--12-*-*-*-*-*-koi8-r,\
+                  -*-helvetica-medium-r-normal--12-*-*-*-*-*-koi8-r,\
                   -*-arial-medium-r-normal--12-*-*-*-*-*-koi8-r,*-r-*"
 }
 class "GtkWidget" style "gtk-default-ru"

gtk+-1.2.10-utf8fontset.patch:

--- NEW FILE gtk+-1.2.10-utf8fontset.patch ---
--- gtk+-1.2.10/gdk/gdkfont.c.utf8fontset	Sun Apr  1 22:31:25 2001
+++ gtk+-1.2.10/gdk/gdkfont.c	Tue Jul 10 11:31:54 2001
@@ -26,6 +26,7 @@
 
 #include <X11/Xlib.h>
 #include <X11/Xos.h>
+#include <langinfo.h>
 #include "gdk.h"
 #include "gdkprivate.h"
 
@@ -173,9 +174,24 @@
   if (missing_charset_count)
     {
       gint i;
-      g_warning ("Missing charsets in FontSet creation\n");
-      for (i=0;i<missing_charset_count;i++)
-	g_warning ("    %s\n", missing_charset_list[i]);
+      const char *codeset;
+
+      codeset = nl_langinfo (CODESET);
+
+      /* Hack - UTF-8 is likely to be rendered with a list of
+       * possible legacy fallback charsets, so a failure here
+       * shouldn't be warned about. But we don't want to suppress
+       * this warning in general, since for other character sets
+       * it gives a useful indication of what went wrong.
+       */
+      if (g_strcasecmp (codeset, "utf-8") != 0 &&
+	  g_strcasecmp (codeset, "utf8") != 0)
+	{
+	  g_warning ("Missing charsets in FontSet creation\n");
+	  for (i=0;i<missing_charset_count;i++)
+	    g_warning ("    %s\n", missing_charset_list[i]);
+	}
+      
       XFreeStringList (missing_charset_list);
     }
 

gtk+-1.2.6-ahiguti.patch:

--- NEW FILE gtk+-1.2.6-ahiguti.patch ---
Return-Path: a-higuti at math.sci.hokudai.ac.jp
Delivery-Date: Thu Sep 23 14:52:43 1999
Return-Path: <a-higuti at math.sci.hokudai.ac.jp>
Received: from localhost (IDENT:otaylor at localhost [127.0.0.1])
	by fresnel.labs.redhat.com (8.9.3/8.9.3) with ESMTP id OAA00891
	for <otaylor at localhost>; Thu, 23 Sep 1999 14:52:41 -0400
Received: from lacrosse.redhat.com
	by localhost with POP3 (fetchmail-5.0.0)
	for otaylor at localhost (single-drop); Thu, 23 Sep 1999 14:52:42 -0400 (EDT)
Received: from mail.redhat.com (mail.redhat.com [199.183.24.239])
	by lacrosse.corp.redhat.com (8.9.3/8.9.3) with ESMTP id OAA19205
	for <otaylor at lacrosse.redhat.com>; Thu, 23 Sep 1999 14:01:27 -0400
Received: from math.sci.hokudai.ac.jp (seki.math.sci.hokudai.ac.jp [133.50.152.8])
	by mail.redhat.com (8.8.7/8.8.7) with ESMTP id OAA13383
	for <otaylor at redhat.com>; Thu, 23 Sep 1999 14:01:49 -0400
Received: from heathcliff (a-higuti at hilbert.math.sci.hokudai.ac.jp [133.50.152.11])
	by math.sci.hokudai.ac.jp (8.8.8/3.6W01/06/98) with SMTP id DAA23889
	for <otaylor at redhat.com>; Fri, 24 Sep 1999 03:01:10 +0900 (JST)
Date: Fri, 24 Sep 1999 03:01:10 +0900 (JST)
Message-Id: <199909231801.DAA23889 at math.sci.hokudai.ac.jp>
From: a-higuti at math.sci.hokudai.ac.jp (Akira Higuchi)
To: otaylor at redhat.com
Subject: Adding more gdk_isw* macros
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Status:  O
Lines: 528
Xref: fresnel.labs.redhat.com prog-gtk:648

Hello Owen,

I'm working on adding CJK support to gnome apps, and I need your advice.

As you know, gtk+-1.2 has some support for CJK. It's sufficient for most
gnome apps to be internationalized, but some problems remain. The most
problem is that there is no way of doing word wrapping for CJK strings.

For example, gtk-xmhtml shows Japanese text very uglily, because Japanese
sentences are recognized as very long words. (a Japanese sentence 
contain any spaces in most cases.) The same problem is in gtk+ itself, too;
Word wrapping in GtkLabel and GtkText doesn't work correctly for CJK text,
because of the same reason as above.

In order to fix it, we need more gdk_isw* functions than we already have
in gdki18n.h. (I regret I didn't add them before gtk+-1.2 was released.)
I attach herewith a patch which fixes it, but I think it's not acceptable
to adding a new macro to a stable version of gtk+. (is it?)

The question I want to ask you is: what's the best way of fixing the
problem without adding these macros to gdki18n.h? A solution is to add
these macros to each *.c files (in GtkLabel, GtkText, and gtkxmhtml etc.)
rather than gtki18n.h, but it's very ugly I think. 

Please don't say "wait until gscript is completed" ;-(  I don't want to
wait for a long time. (Please let me know if I can help you with gscript
BTW. I've not hacked gscript yet, because it seems to be too early to be
hacked by other than you.)

Thanks,
Akira Higuchi
---------------- x8 ---------------- x8 ---------------- x8 ----------------
diff -ur gtk+-1.2.5-pre2/gdk/gdki18n.h gtk+-1.2.5-pre2.new/gdk/gdki18n.h
--- gtk+-1.2.5-pre2/gdk/gdki18n.h	Wed Jun  9 21:07:51 1999
+++ gtk+-1.2.5-pre2.new/gdk/gdki18n.h	Thu Sep 23 14:59:38 1999
@@ -50,4 +50,32 @@
 #  define gdk_iswspace(c) ((wchar_t)(c) <= 0xFF && isspace(c))
 #endif
 
+/* The following 9 macros are added in gtk+ 1.2.X. Don't use them without
+ * checking GTK_CHECK_VERSION. For example,
+ *	#if GTK_CHECK_VERSION (1,2,X)
+ *	    ... code which uses gdk_iswalpha(), gdk_iswcntrl(), etc. ...
+ *      #endif
+ */
+#if !defined(G_HAVE_BROKEN_WCTYPE) && (defined(G_HAVE_WCTYPE_H) || defined(G_HAVE_WCHAR_H)) && !defined(X_LOCALE)
+#  define gdk_iswalpha(c)  iswalpha(c)
+#  define gdk_iswcntrl(c)  iswcntrl(c)
+#  define gdk_iswdigit(c)  iswdigit(c)
+#  define gdk_iswlower(c)  iswlower(c)
+#  define gdk_iswgraph(c)  iswgraph(c)
+#  define gdk_iswprint(c)  iswprint(c)
+#  define gdk_iswpunct(c)  iswpunct(c)
+#  define gdk_iswupper(c)  iswupper(c)
+#  define gdk_iswxdigit(c) iswxdigit(c)
+#else
+#  define gdk_iswalpha(c)  ((wchar_t)(c) <= 0xFF && isalpha(c))
+#  define gdk_iswcntrl(c)  ((wchar_t)(c) <= 0xFF && iscntrl(c))
+#  define gdk_iswdigit(c)  ((wchar_t)(c) <= 0xFF && isdigit(c))
+#  define gdk_iswlower(c)  ((wchar_t)(c) <= 0xFF && islower(c))
+#  define gdk_iswgraph(c)  ((wchar_t)(c) >  0xFF || isgraph(c))
+#  define gdk_iswprint(c)  ((wchar_t)(c) >  0xFF || isprint(c))
+#  define gdk_iswpunct(c)  ((wchar_t)(c) <= 0xFF && ispunct(c))
+#  define gdk_iswupper(c)  ((wchar_t)(c) <= 0xFF && isupper(c))
+#  define gdk_iswxdigit(c) ((wchar_t)(c) <= 0xFF && isxdigit(c))
+#endif
+
 #endif /* __GDK_I18N_H__ */
diff -ur gtk+-1.2.5-pre2/gtk/gtkentry.c gtk+-1.2.5-pre2.new/gtk/gtkentry.c
--- gtk+-1.2.5-pre2/gtk/gtkentry.c	Wed Aug 18 14:23:53 1999
+++ gtk+-1.2.5-pre2.new/gtk/gtkentry.c	Thu Sep 23 00:22:21 1999
@@ -1943,11 +1943,21 @@
     gtk_move_backward_word (GTK_ENTRY (editable));
 }
 
+static gboolean
+alnum_or_ideogram (GtkEntry *entry, guint index)
+{
+  GdkWChar ch;
+  ch = entry->text[index];
+  if (entry->use_wchar)
+    return !(gdk_iswpunct (ch) || gdk_iswcntrl (ch) || gdk_iswspace (ch));
+  else
+    return !(ispunct (ch) || iscntrl (ch) || isspace (ch));
+}
+
 static void
 gtk_move_forward_word (GtkEntry *entry)
 {
   GtkEditable *editable;
-  GdkWChar *text;
   gint i;
 
   editable = GTK_EDITABLE (entry);
@@ -1961,21 +1971,12 @@
 
   if (entry->text && (editable->current_pos < entry->text_length))
     {
-      text = entry->text;
-      i = editable->current_pos;
-	  
-      if ((entry->use_wchar) ? (!gdk_iswalnum (text[i])) : (!isalnum (text[i])))
-	for (; i < entry->text_length; i++)
-	  {
-	    if ((entry->use_wchar) ? gdk_iswalnum (text[i]) : isalnum (text[i]))
-	      break;
-	  }
-
+      for (i = editable->current_pos; i < entry->text_length; i++)
+	if (alnum_or_ideogram (entry, i))
+	  break;
       for (; i < entry->text_length; i++)
-	{
-	  if ((entry->use_wchar) ? (!gdk_iswalnum (text[i])) : (!isalnum (text[i])))
-	    break;
-	}
+	if (!alnum_or_ideogram (entry, i))
+	  break;
 
       editable->current_pos = i;
     }
@@ -1985,7 +1986,6 @@
 gtk_move_backward_word (GtkEntry *entry)
 {
   GtkEditable *editable;
-  GdkWChar *text;
   gint i;
 
   editable = GTK_EDITABLE (entry);
@@ -1999,26 +1999,19 @@
 
   if (entry->text && editable->current_pos > 0)
     {
-      text = entry->text;
-      i = editable->current_pos - 1;
-      if ((entry->use_wchar) ? (!gdk_iswalnum (text[i])) : (!isalnum (text[i])))
-	for (; i >= 0; i--)
+      for (i = editable->current_pos - 1; i >= 0; i--)
+	if (alnum_or_ideogram (entry, i))
+	  break;
+      for (; i >= 0; i--)
+	if (!alnum_or_ideogram (entry, i))
 	  {
-	    if ((entry->use_wchar) ? gdk_iswalnum (text[i]) : isalnum (text[i]))
-	      break;
+	    i++;
+	    break;
 	  }
-      for (; i >= 0; i--)
-	{
-	  if ((entry->use_wchar) ? (!gdk_iswalnum (text[i])) : (!isalnum (text[i])))
-	    {
-	      i++;
-	      break;
-	    }
-	}
-	  
+
       if (i < 0)
 	i = 0;
-	  
+  
       editable->current_pos = i;
     }
 }
diff -ur gtk+-1.2.5-pre2/gtk/gtklabel.c gtk+-1.2.5-pre2.new/gtk/gtklabel.c
--- gtk+-1.2.5-pre2/gtk/gtklabel.c	Wed Jun  9 20:40:13 1999
+++ gtk+-1.2.5-pre2.new/gtk/gtklabel.c	Thu Sep 23 11:29:25 1999
@@ -56,6 +56,7 @@
   GtkLabelWord *next;
   gint uline_y;
   GtkLabelULine *uline;
+  gboolean paragraph_break;
 };
 
 struct _GtkLabelULine
@@ -396,6 +397,7 @@
   word->beginning = NULL;
   word->next = NULL;
   word->uline = NULL;
+  word->paragraph_break = FALSE;
 
   return word;
 }
@@ -441,6 +443,7 @@
       if (str == label->label_wc || str[-1] == '\n')
 	{
 	  /* Paragraph break */
+	  word->paragraph_break = TRUE;
 	  word->space = 0;
 	  
 	  max_line_width = MAX (line_width, max_line_width);
@@ -488,6 +491,7 @@
     {
       word = gtk_label_word_alloc ();
       
+      word->paragraph_break = TRUE;
       word->space = 0;
       word->beginning = str;
       word->length = 0;
@@ -500,6 +504,13 @@
   return MAX (line_width, max_line_width);
 }
 
+static gboolean
+is_ideogram (GdkWChar wc)
+{
+  return !(gdk_iswalnum (wc) || gdk_iswspace (wc) ||
+	   gdk_iswpunct (wc) || gdk_iswcntrl (wc));
+}
+
 /* this needs to handle white space better. */
 static gint
 gtk_label_split_text_wrapped (GtkLabel *label)
@@ -526,6 +537,7 @@
       if (str == label->label_wc || str[-1] == '\n')
 	{
 	  /* Paragraph break */
+	  word->paragraph_break = TRUE;
 	  word->space = 0;
 	  
 	  max_line_width = MAX (line_width, max_line_width);
@@ -546,24 +558,30 @@
 	  else
 	    word->space = space_width * nspaces;
 	}
-      else
+      else if (gdk_iswspace (str[-1]))
 	{
 	  /* Regular inter-word space */
 	  word->space = space_width;
 	}
+      else
+	{
+	  word->space = 0;
+	}
       
       word->beginning = str;
       word->length = 0;
       p = word->beginning;
       while (*p && !gdk_iswspace (*p))
 	{
+	  if (word->length > 0 && (is_ideogram (p[-1]) || is_ideogram (*p)))
+	    break;
 	  word->length++;
 	  p++;
 	}
       word->width = gdk_text_width_wc (GTK_WIDGET (label)->style->font, str, word->length);
       
       str += word->length;
-      if (*str)
+      if (*str && gdk_iswspace (*str))
 	str++;
       
       line_width += word->space + word->width;
@@ -600,7 +618,7 @@
   width = 0;
   for (word = label->words; word; word = word->next)
     {
-      if (word->space == 0
+      if (word->paragraph_break
 	  || (line_width
 	      && (line_width >= min_width
 		  || line_width + word->width + word->space > max_width)))
@@ -716,7 +734,8 @@
   GtkLabelWord *word, *line, *next_line;
   GtkWidget *widget;
   gchar *ptrn;
-  gint x, y, space, extra_width, add_space, baseline_skip;
+  gint x, y, space, num_words, extra_width, add_space, baseline_skip;
+  gboolean deliver_equivalently;
   
   g_return_if_fail (label->wrap);
   
@@ -724,20 +743,24 @@
   y = 0;
   baseline_skip = (GTK_WIDGET (label)->style->font->ascent +
 		   GTK_WIDGET (label)->style->font->descent + 1);
+  deliver_equivalently = FALSE;
   
   for (line = label->words; line != 0; line = next_line)
     {
-      space = 0;
+      space = num_words = 0;
       extra_width = max_line_width - line->width;
       
       for (next_line = line->next; next_line; next_line = next_line->next)
 	{
-	  if (next_line->space == 0)
+	  if (next_line->paragraph_break)
 	    break;		/* New paragraph */
 	  if (next_line->space + next_line->width > extra_width)
 	    break;
+	  if (next_line->space == 0)
+	    deliver_equivalently = TRUE; /* An ideogram is found. */
 	  extra_width -= next_line->space + next_line->width;
 	  space += next_line->space;
+	  num_words++;
 	}
       
       line->x = 0;
@@ -747,14 +770,18 @@
       
       for (word = line->next; word != next_line; word = word->next)
 	{
-	  if (next_line && next_line->space)
+	  if (next_line && !next_line->paragraph_break &&
+	      label->jtype == GTK_JUSTIFY_FILL &&
+	      (deliver_equivalently ? num_words : space) > 0)
 	    {
-	      /* Not last line of paragraph --- fill line if needed */
-	      if (label->jtype == GTK_JUSTIFY_FILL) {
+	      /* Not last line of paragraph --- fill line */
+	      if (deliver_equivalently)
+		add_space = (extra_width + num_words / 2) / num_words;
+	      else
 		add_space = (extra_width * word->space + space / 2) / space;
-		extra_width -= add_space;
-		space -= word->space;
-	      }
+	      extra_width -= add_space;
+	      space -= word->space;
+	      num_words--;
 	    }
 	  
 	  word->x = x + word->space + add_space;
@@ -925,7 +952,7 @@
 
       for (word = label->words; word; word = word->next)
 	{
-	  gchar save = word->beginning[word->length];
+	  GdkWChar save = word->beginning[word->length];
 	  word->beginning[word->length] = '\0';
 	  gtk_label_paint_word (label, x, y, word, &event->area);
 	  word->beginning[word->length] = save;
diff -ur gtk+-1.2.5-pre2/gtk/gtktext.c gtk+-1.2.5-pre2.new/gtk/gtktext.c
--- gtk+-1.2.5-pre2/gtk/gtktext.c	Sat Sep  4 08:50:38 1999
+++ gtk+-1.2.5-pre2.new/gtk/gtktext.c	Thu Sep 23 00:21:40 1999
@@ -101,6 +101,13 @@
   ARG_WORD_WRAP
 };
 
+typedef enum {
+  CHAR_CLASS_SPACE,
+  CHAR_CLASS_ALNUM,
+  CHAR_CLASS_IDEOGRAM,
+  CHAR_CLASS_OTHERS     /* punct, cntrl */
+} CharClass;
+
 typedef struct _TextProperty          TextProperty;
 typedef struct _TabStopMark           TabStopMark;
 typedef struct _PrevTabCont           PrevTabCont;
@@ -298,6 +305,8 @@
 				    const GtkPropertyMark *mark,
 				    const PrevTabCont *tab_cont,
 				    PrevTabCont *next_cont);
+static void find_word_wrap_position (GtkText* text, LineParams *lp);
+static CharClass char_class (GtkText* text, guint index);
 static void recompute_geometry (GtkText* text);
 static void insert_expose (GtkText* text, guint old_pixels, gint nchars, guint new_line_count);
 static void delete_expose (GtkText* text,
@@ -4084,27 +4093,21 @@
   
   undraw_cursor (text, FALSE);
   
-  if (text->use_wchar)
+  while (!LAST_INDEX (text, text->cursor_mark))
     {
-      while (!LAST_INDEX (text, text->cursor_mark) && 
-	     !gdk_iswalnum (GTK_TEXT_INDEX(text, text->cursor_mark.index)))
-	advance_mark (&text->cursor_mark);
-      
-      while (!LAST_INDEX (text, text->cursor_mark) && 
-	     gdk_iswalnum (GTK_TEXT_INDEX(text, text->cursor_mark.index)))
-	advance_mark (&text->cursor_mark);
+      CharClass cc = char_class (text, text->cursor_mark.index);
+      if (cc == CHAR_CLASS_ALNUM || cc == CHAR_CLASS_IDEOGRAM)
+	break;
+      advance_mark (&text->cursor_mark);
     }
-  else
+  while (!LAST_INDEX (text, text->cursor_mark))
     {
-      while (!LAST_INDEX (text, text->cursor_mark) && 
-	     !isalnum (GTK_TEXT_INDEX(text, text->cursor_mark.index)))
-	advance_mark (&text->cursor_mark);
-      
-      while (!LAST_INDEX (text, text->cursor_mark) && 
-	     isalnum (GTK_TEXT_INDEX(text, text->cursor_mark.index)))
-	advance_mark (&text->cursor_mark);
+      CharClass cc = char_class (text, text->cursor_mark.index);
+      if (cc != CHAR_CLASS_ALNUM && cc != CHAR_CLASS_IDEOGRAM)
+	break;
+      advance_mark (&text->cursor_mark);
     }
-  
+
   find_cursor (text, TRUE);
   draw_cursor (text, FALSE);
 }
@@ -4116,25 +4119,19 @@
   
   undraw_cursor (text, FALSE);
   
-  if (text->use_wchar)
+  while (text->cursor_mark.index > 0)
     {
-      while ((text->cursor_mark.index > 0) &&
-	     !gdk_iswalnum (GTK_TEXT_INDEX(text, text->cursor_mark.index-1)))
-	decrement_mark (&text->cursor_mark);
-      
-      while ((text->cursor_mark.index > 0) &&
-	     gdk_iswalnum (GTK_TEXT_INDEX(text, text->cursor_mark.index-1)))
-	decrement_mark (&text->cursor_mark);
+      CharClass cc = char_class (text, text->cursor_mark.index - 1);
+      if (cc == CHAR_CLASS_ALNUM || cc == CHAR_CLASS_IDEOGRAM)
+	break;
+      decrement_mark (&text->cursor_mark);
     }
-  else
+  while (text->cursor_mark.index > 0)
     {
-      while ((text->cursor_mark.index > 0) &&
-	     !isalnum (GTK_TEXT_INDEX(text, text->cursor_mark.index-1)))
-	decrement_mark (&text->cursor_mark);
-      
-      while ((text->cursor_mark.index > 0) &&
-	     isalnum (GTK_TEXT_INDEX(text, text->cursor_mark.index-1)))
-	decrement_mark (&text->cursor_mark);
+      CharClass cc = char_class (text, text->cursor_mark.index - 1);
+      if (cc != CHAR_CLASS_ALNUM && cc != CHAR_CLASS_IDEOGRAM)
+	break;
+      decrement_mark (&text->cursor_mark);
     }
   
   find_cursor (text, TRUE);
@@ -4755,27 +4752,8 @@
 		      GtkPropertyMark saved_mark = lp.end;
 		      guint saved_characters = lp.displayable_chars;
 		      
-		      lp.displayable_chars += 1;
-		      
-		      if (text->use_wchar)
-			{
-			  while (!gdk_iswspace (GTK_TEXT_INDEX (text, lp.end.index)) &&
-				 (lp.end.index > lp.start.index))
-			    {
-			      decrement_mark (&lp.end);
-			      lp.displayable_chars -= 1;
-			    }
-			}
-		      else
-			{
-			  while (!isspace(GTK_TEXT_INDEX (text, lp.end.index)) &&
-				 (lp.end.index > lp.start.index))
-			    {
-			      decrement_mark (&lp.end);
-			      lp.displayable_chars -= 1;
-			    }
-			}
-		      
+		      find_word_wrap_position (text, &lp);
+
 		      /* If whole line is one word, revert to char wrapping */
 		      if (lp.end.index == lp.start.index)
 			{
@@ -4821,6 +4799,54 @@
   lp.tab_cont_next = *next_cont;
   
   return lp;
+}
+
+static CharClass
+char_class (GtkText* text, guint index)
+{
+  GdkWChar wc;
+  wc = GTK_TEXT_INDEX (text, index);
+  if (text->use_wchar)
+    {
+      if (gdk_iswspace (wc))
+	return CHAR_CLASS_SPACE;
+      else if (gdk_iswalnum (wc))
+	return CHAR_CLASS_ALNUM;
+      else if (gdk_iswpunct (wc) || gdk_iswcntrl (wc))
+	return CHAR_CLASS_OTHERS;
+      else
+	return CHAR_CLASS_IDEOGRAM;
+    }
+  else
+    {
+      if (isspace (wc))
+	return CHAR_CLASS_SPACE;
+      else if (isalnum (wc))
+	return CHAR_CLASS_ALNUM;
+      else if (ispunct (wc) || iscntrl (wc))
+	return CHAR_CLASS_OTHERS;
+      else
+	return CHAR_CLASS_IDEOGRAM;
+    }
+}
+
+static void
+find_word_wrap_position (GtkText* text, LineParams *lp)
+{
+  while (lp->end.index > lp->start.index &&
+	 char_class (text, lp->end.index) != CHAR_CLASS_SPACE &&
+	 char_class (text, lp->end.index) != CHAR_CLASS_IDEOGRAM &&
+	 char_class (text, lp->end.index - 1) != CHAR_CLASS_IDEOGRAM)
+    {
+      decrement_mark (&lp->end);
+      lp->displayable_chars -= 1;
+    }
+
+  /* lp->end.index points the position to be cut just now. If it's not a
+   * space, move it to the next display line. */
+  if (lp->end.index > lp->start.index &&
+      char_class (text, lp->end.index) != CHAR_CLASS_SPACE)
+    decrement_mark (&lp->end);
 }
 
 static void
---------------- x8 ---------------- x8 ---------------- x8 ----------------

--------------------------------------
Akira Higuchi
Dept. of Mathematics, Hokkaido Univ.
Hokkaido, Japan
Email: a-higuti at math.sci.hokudai.ac.jp

gtk+-1.2.8-wrap-alnum.patch:

--- NEW FILE gtk+-1.2.8-wrap-alnum.patch ---
--- gtk+-1.2.8/gtk/gtklabel.c.alnum	Wed Jan 24 05:56:00 2001
+++ gtk+-1.2.8/gtk/gtklabel.c	Wed Jan 24 07:44:22 2001
@@ -507,8 +507,11 @@
 static gboolean
 is_ideogram (GdkWChar wc)
 {
-  return !(gdk_iswalnum (wc) || gdk_iswspace (wc) ||
-	   gdk_iswpunct (wc) || gdk_iswcntrl (wc));
+    if (gdk_iswalpha (wc) && (!gdk_iswupper (wc) && !gdk_iswlower (wc)))
+	return TRUE;
+    
+    return !(gdk_iswspace (wc) || gdk_iswalnum (wc) ||
+	     gdk_iswpunct (wc) || gdk_iswcntrl (wc));
 }
 
 /* this needs to handle white space better. */

gtk+-underquoted.patch:

--- NEW FILE gtk+-underquoted.patch ---
--- gtk+-1.2.10/gtk.m4.underquoted	2004-08-15 22:20:34.253447389 +0100
+++ gtk+-1.2.10/gtk.m4	2004-08-15 22:20:47.874844660 +0100
@@ -4,7 +4,7 @@
 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
 dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
 dnl
-AC_DEFUN(AM_PATH_GTK,
+AC_DEFUN([AM_PATH_GTK],
 [dnl 
 dnl Get the cflags and libraries from the gtk-config script
 dnl


--- NEW FILE gtk+.spec ---

Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
Name: 	 gtk+
Epoch:	 1
Version: 1.2.10
Release: 52%{?dist}

License: LGPL
Group:	 System Environment/Libraries
URL:	 http://www.gtk.org/
Source:  ftp://ftp.gimp.org/pub/gtk/v1.2/gtk+-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

Source1: gtkrc-default
Source2: gtk+-pofiles.tar.gz
Source3: gtkrc.ja.utf8
Source4: gtkrc.ko.utf8
Source5: gtkrc.zh_CN.utf8
Source6: gtkrc.zh_TW.utf8

Patch1: gtk+-1.2.6-ahiguti.patch
Patch5: gtk+-1.2.8-wrap-alnum.patch
# Supress alignment warnings on ia64
Patch10: gtk+-1.2.10-alignment.patch
# Improve exposure compression
Patch11: gtk+-1.2.10-expose.patch
# Handle focus tracking for embedded window properly
Patch12: gtk+-1.2.10-focus.patch
# Find gtkrc files for the current encoding better
Patch13: gtk+-1.2.10-encoding.patch
# Don't screw up CTEXT encoding for UTF-8
Patch14: gtk+-1.2.10-ctext.patch
# Don't warn about missing fonts for UTF-8
Patch15: gtk+-1.2.10-utf8fontset.patch
# Accept KP_Enter as a synonym for Return everywhere
Patch16: gtk+-1.2.10-kpenter.patch
# Allow theme switching to work properly when no windows are realized
Patch17: gtk+-1.2.10-themeswitch.patch
# Fix crash when switching themes
Patch18: gtk+-1.2.10-pixmapref.patch
# Fix computation of width of missing characters
Patch19: gtk+-1.2.10-missingchar.patch
# Fix sizes of Ukrainian fontsets
Patch20: gtk+-1.2.10-ukfont.patch
# Fix file selection delete-dir when changing directory problem
# also, fix memory corruption problem when changing directories.
Patch21: gtk+-1.2.10-deletedir.patch
# Improve warning for missing fonts
Patch22: gtk+-1.2.10-fontwarning.patch
# Allow themes to make scrollbar trough always repaint
Patch23: gtk+-1.2.10-troughpaint.patch
# Fix a crash that can happen in some apps when the current
# locale is not supported by XLib.
Patch24: gtk+-1.2.10-localecrash.patch
# Patch from CVS to fix b.g.o #56349
Patch26: gtk+-1.2.10-dndorder.patch
# Patch from CVS to fix b.g.o #94812
Patch27: gtk+-1.2.10-clistfocusrow.patch
# Fix GTK+ to obey X server's default bell volume
Patch28: gtk+-1.2.10-bellvolume.patch
# Hack up the configure scripts to deal with some obscure
# breakage with ancient libtool
Patch29: gtk+-1.2.10-libtool.patch
# Add a dependency on libgdk to libgtk
Patch30: gtk+-1.2.10-gtkgdkdep.patch
Patch31: gtk+-underquoted.patch
Patch32: gtk+-1.2.10-ppc64.patch
# do not allow for undefined symbols in shared libraries -- Rex
Patch33: gtk+-1.2.10-no_undefined.patch

BuildRequires: glib-devel >= 1:%{version}
BuildRequires: automake14 autoconf213
BuildRequires: libtool
BuildRequires: gettext
## This can theoretically be used for legacy -- Rex
%if "%{?fedora}" > "4"
BuildRequires: libX11-devel libXext-devel libXi-devel libXt-devel
%else
BuildRequires: XFree86-devel
%endif

## *very* old, deprecated Obsoletes (pun intended) -- Rex
#Obsoletes: gtk 
## auto-req -- Rex
#Requires: glib >= 1:%{version}

# The highly broken gdk-pixbuf circular dependency is
# added so that when you install gtk+, you get the 
# dependencies you need for the Bluecurve GTK+-1.2 theme
# engine that redhat-artwork installs without proper
# dependencies.
#
## Ack, No-way, hosay.  -- Rex
# Requires: gdk-pixbuf >= 0.18.0

%description
The gtk+ package contains the GIMP ToolKit (GTK+), a library for
creating graphical user interfaces for the X Window System. GTK+ was
originally written for the GIMP (GNU Image Manipulation Program) image
processing program, but is now used by several other programs as
well.

%package devel
Summary: Development tools for GTK+ (GIMP ToolKit) applications
Group: Development/Libraries
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: glib-devel
Requires: pkgconfig
## this can theoretically be used for legacy -- Rex
#if "%{?fedora}" > "4"
Requires: libX11-devel, libXext-devel, libXi-devel
#else
#Requires: XFree86-devel
#endif
## *very* old, deprecated Obsoletes (pun intended) -- Rex
#Obsoletes: gtk-devel < %{epoch}:%{version}
## info files not included
#Requires(post): /sbin/install-info
#Requires(preun): /sbin/install-info
%description devel
Libraries, header files and documentation for developing GTK+ 
(GIMP ToolKit) applications.


%prep
%setup -q -a 2

%patch1 -p1 -b .ahiguti
%patch5 -p1 -b .alnum
%patch10 -p1 -b .alignment
%patch11 -p1 -b .expose
%patch12 -p1 -b .focus
%patch13 -p1 -b .encoding
%patch14 -p1 -b .ctext
%patch15 -p1 -b .utf8fontset
%patch16 -p1 -b .kpenter
%patch17 -p1 -b .themeswitch
%patch18 -p1 -b .pixmapref
%patch19 -p1 -b .missingchar
%patch20 -p1 -b .ukfont
%patch21 -p1 -b .deletedir
%patch22 -p1 -b .fontwarning
%patch23 -p0 -b .troughpaint
%patch24 -p1 -b .localecrash
%patch26 -p0 -b .dndorder
%patch27 -p0 -b .clistfocusrow
%patch28 -p1 -b .bellvolume
%patch29 -p1 -b .libtool
%patch30 -p1 -b .gtkgdkdep
%patch31 -p1 -b .underquoted
%patch32 -p1 -b .ppc64
%patch33 -p1 -b .no_undefined

#libtoolize --force
automake-1.4
#aclocal-1.4
autoconf-2.13
autoheader-2.13


%build
LIBTOOL=/usr/bin/libtool \
%configure \
  --disable-static \
  --with-xinput=xfree\
  --with-native-locale

make %{?_smp_mflags} LIBTOOL=/usr/bin/libtool


%install
rm -rf $RPM_BUILD_ROOT

make install DESTDIR=$RPM_BUILD_ROOT LIBTOOL=/usr/bin/libtool

#
# Make cleaned-up versions of examples and tutorial for installation
#
./mkinstalldirs tmpdocs/tutorial
install -p -m0644 docs/html/gtk_tut.html docs/html/gtk_tut-[0-9]*.html docs/html/*.gif tmpdocs/tutorial
for dir in examples/* ; do
    if [ -d $dir ] ; then
       ./mkinstalldirs tmpdocs/$dir
       for file in $dir/* ; do
          case $file in
	     *pre1.2.7)
	        ;;
	     *)
                install -p -m0644 $file tmpdocs/$dir
		;;
	  esac
       done
    fi
done

install -p -m644 -D %{SOURCE1} $RPM_BUILD_ROOT/etc/gtk/gtkrc

# Install some extra gtkrc files to improve functioning of GTK+
# in UTF-8 locales for Chinese, Japanese, Korean.
for i in %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} ; do
  install -p -m0644 $i $RPM_BUILD_ROOT/etc/gtk/
done

# We don't ship the info files
rm -rf $RPM_BUILD_ROOT%{_infodir}

# .la fies... die die die.
rm -rf $RPM_BUILD_ROOT%{_libdir}/lib*.la
# despite use of --disable-static, delete static libs that get built anyway
rm -f  $RPM_BUILD_ROOT%{_libdir}/lib*.a

%find_lang %{name}


# I *know* ||: isn't needed, but this could end up used by legacy
%check ||:
make check LIBTOOL=/usr/bin/libtool


%clean
rm -rf $RPM_BUILD_ROOT


%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig


%files -f %{name}.lang
%defattr(-,root,root,-)
%doc AUTHORS COPYING ChangeLog NEWS README TODO
%{_libdir}/lib*.so.*
%dir %{_datadir}/themes
%{_datadir}/themes/Default/
%config(noreplace) %{_sysconfdir}/gtk/

%files devel
%defattr(-,root,root,-)
%doc tmpdocs/tutorial/
%doc tmpdocs/examples/
%{_bindir}/gtk-config
%{_datadir}/aclocal/*
%{_includedir}/*
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*.pc
%{_mandir}/man1/*


%changelog
* Mon Apr 24 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1:1.2.10-52
- install -m644 gtkrc ...
- utf-8 specfile
- comment %%fedora > 4 constructs
- own %%_datadir/themes
- move %%check after %%install

* Sat Apr 08 2006 Rex Dieter <rexdieter[AT]users.sf.net> 1:1.2.10-51
- cleanup for Extras
- drop Obsoletes: gtk (that must be *way* old)
- drop gdk-pixbuf debpendancy
- fix/re-enable gdkgtkdep patch
- no_undefined patch

* Wed Mar 01 2006 Karsten Hopp <karsten at redhat.de> 1:1.2.10-50
- BuildRequires: libXt-devel

* Fri Feb 10 2006 Jesse Keating <jkeating at redhat.com> - 1:1.2.10-49.2.1
- bump again for double-long bug on ppc(64)

* Tue Feb 07 2006 Jesse Keating <jkeating at redhat.com> - 1:1.2.10-49.2
- rebuilt for new gcc4.1 snapshot and glibc changes

* Fri Dec 09 2005 Jesse Keating <jkeating at redhat.com>
- rebuilt

* Fri Nov 18 2005 Bill Nottingham <notting at redhat.com> 1:1.2.10-49
- Remove references to obsolete X11R6 paths

* Wed Nov 16 2005 Matthias Clasen <mclasen at redhat.com> 1:1.2.10-48
- Fix Requires of -devel

* Mon Nov  7 2005 Matthias Clasen <mclasen at redhat.com> 1:1.2.10-47
- Remove .la files and static libs

* Tue Nov  7 2005 Matthias Clasen <mclasen at redhat.com> 1:1.2.10-46
- Rebuilt

* Tue Nov  1 2005 Matthias Clasen <mclasen at redhat.com> 1:1.2.10-45
- Switch requires to modular X

* Wed Mar  2 2005 Matthias Clasen <mclasen at redhat.com> 1:1.2.10-35
- Rebuild with gcc4

* Thu Feb 17 2005 Matthias Clasen <mclasen at redhat.com> 1:1.2.10-34
- Replace Copyright tag in header.

* Sun Aug 15 2004 Tim Waugh <twaugh at redhat.com> 1:1.2.10-33
- Fixed underquoted m4 definition.

* Thu Jun 24 2004 Matthias Clasen <mclasen at redhat.com>
- add missing buildrequires (#124159)

* Tue Jun 16 2004 Matthias Clasen <mclasen at redhat.com>
- rebuilt for RHEL3 U3

* Tue Jun 15 2004 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Tue Mar 02 2004 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Fri Feb 13 2004 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Mon Oct 27 2003 Owen Taylor <otaylor at redhat.com> 1:1.2.10-28.1
- Cave like a cheap house of cards and add gdk-pixbuf dependency (#105613)
- Add gtkrc.*.utf8 RC files for CJK (#84593)
- Add a dependency on libgdk to libgtk (#106677)

* Sun Jun  8 2003 Tim Powers <timp at redhat.com> 1:1.2.10-27.1
- build for RHEL

* Wed Jun 04 2003 Elliot Lee <sopwith at redhat.com>
- rebuilt

* Tue Jun  3 2003 Jeff Johnson <jbj at redhat.com>
- add explicit epoch's where needed.

* Thu Feb 13 2003 Elliot Lee <sopwith at redhat.com> 1.2.10-26
- Run libtoolize/auto* to get an updated libtool that recognizes ppc64

* Wed Jan 22 2003 Tim Powers <timp at redhat.com>
- rebuilt

* Wed Jan 15 2003 Owen Taylor <otaylor at redhat.com> 1.2.10-24
- Add a couple of patches from GNOME CVS, fixing a crash
  with CList focus row tracking, and a place where DND
  would get confused.
- Obey the system bell volume (#74802)
- Ship the pkg-config files

* Mon Nov  4 2002 Tim Waugh <twaugh at redhat.com> 1.2.10-23
- Don't install files not shipped.
- Fix gtk-config output for multilib archs.

* Thu Aug 22 2002 Owen Taylor <otaylor at redhat.com>
- Fix a crash that can happen in some apps when the current
  locale is not supported by XLib. (#72157)

* Fri Jul 26 2002 Owen Taylor <otaylor at redhat.com>
- Fix a small memory leak in the .encoding patch (Kjartan Maraas)

* Fri Jul 19 2002 Alexander Larsson <alexl at redhat.com>
- Add troughpaint patch

* Thu Jun 27 2002 Owen Taylor <otaylor at redhat.com>
- Fix UTF-8 font specification not to pick up *-c-* fonts

* Fri Jun 21 2002 Tim Powers <timp at redhat.com>
- automated rebuild

* Sun May 26 2002 Tim Powers <timp at redhat.com>
- automated rebuild

* Thu May 16 2002 Alex Larsson <alexl at redhat.com>
- Require automake 1.4

* Wed Apr 17 2002 Owen Taylor <otaylor at redhat.com>
- Fix problem with incorrect directory contents when changing directories (#63726)

* Mon Apr 15 2002 Havoc Pennington <hp at redhat.com>
- merge translations

* Fri Apr 12 2002 Owen Taylor <otaylor at redhat.com>
- Fix filesel delete-filename-on-dir-change problem
- Improve warning for missing fontset elements

* Thu Apr 11 2002 Owen Taylor <otaylor at redhat.com>
- Fix ukrainian font sizes, minor tweak to russian fonts (#63135)
- Own /etc/gtk/ as well as the files in it (#63139)

* Mon Aug 27 2001 Havoc Pennington <hp at redhat.com>
- Add po files from sources.redhat.com

* Mon Aug 13 2001 Owen Taylor <otaylor at redhat.com>
- Fix problem with width computation for missing characters

* Sun Aug 12 2001 Owen Taylor <otaylor at redhat.com>
- Fix refcounting problem in gtk_style_copy() that might affect 
  theme switching. (#51580)

* Wed Aug  8 2001 Owen Taylor <otaylor at redhat.com>
- Add fix for theme switching in nautilus sidebar tabs 
  (and other similar situations)

* Sat Jul 21 2001 Owen Taylor <otaylor at redhat.com>
- Accept KP_Enter as well as Return (#21111)

* Wed Jul 11 2001 Owen Taylor <otaylor at redhat.com>
- Further improve exposure compression code

* Tue Jul 10 2001 Owen Taylor <otaylor at redhat.com>
- Omit warnings about character sets not found in fontset,
  if current locale is UTF-8 based. (Hack!)

* Tue Jul  3 2001 Owen Taylor <otaylor at redhat.com>
- Add patch for alignment warnings on ia64
- Add from Alex to vastly improve expose compression
- Add patch to fix focus tracking for embedded windows
- Add patch by Pablo Saratxaga to improve encoding handling 
- Add patch to not screw up CTEXT for UTF-8 locales

* Sun Jun 24 2001 Elliot Lee <sopwith at redhat.com>
- Bump release + rebuild.

* Tue Apr 17 2001 Jonathan Blandford <jrb at redhat.com>
- Upped to version 1.2.10

* Thu Mar 15 2001 Havoc Pennington <hp at redhat.com>
- translations

* Fri Mar  9 2001 Owen Taylor <otaylor at redhat.com>
- Fix problem with focus and no window manager running
- Fix freeing NULL event when copying without a current event

* Mon Mar  5 2001 Trond Eivind Glomsrod <teg at redhat.com>
- langify

* Mon Mar 05 2001 Owen Taylor <otaylor at redhat.com>
- Version 1.2.9
- Patch to fix problem with menus not popping down

* Thu Mar 01 2001 Owen Taylor <otaylor at redhat.com>
- Version 1.2.9pre4

* Wed Feb 28 2001 Owen Taylor <otaylor at redhat.com>
- Version 1.2.9pre3

* Thu Feb 15 2001 Owen Taylor <otaylor at redhat.com>
- Version 1.2.9pre1

* Sat Feb 10 2001 Owen Taylor <otaylor at redhat.com>
- Fix stupid mistake in last version of patch

* Sat Feb 10 2001 Owen Taylor <otaylor at redhat.com>
- New version of theme patch.

* Wed Jan 24 2001 Matt Wilson <msw at redhat.com>
- Japanese ideographs now show up in iswalnum, don't include it in
  the ideograph check (Patch5: gtk+-1.2.8-wrap-alnum.patch)

* Tue Nov 21 2000 Owen Taylor <otaylor at redhat.com>
- Add patch for enabling better themes

* Thu Oct 19 2000 Elliot Lee <sopwith at redhat.com>
- Fix bug in shm patch error handling.

* Fri Aug 18 2000 Jakub Jelinek <jakub at redhat.com>
- fix GtkClist bug

* Sat Aug 12 2000 Owen Taylor <otaylor at redhat.com>
- Add patch to reduce shm segment usage from 6 to 1

* Fri Aug 11 2000 Jonathan Blandford <jrb at redhat.com>
- Up Epoch and release

* Wed Jul 19 2000 Owen Taylor <otaylor at redhat.com>
- Add BuildPreReq on glib = %{version}

* Thu Jul 13 2000 Prospector <bugzilla at redhat.com>
- automatic rebuild

* Fri Jun  9 2000 Matt Wilson <msw at redhat.com>
- rebuilt with corrected compiler to fix ABI breakage
- FHS packaging.

* Thu May 25 2000 Owen Taylor <otaylor at redhat.com>
- Version 1.2.8

* Fri May 12 2000 Matt Wilson <msw at redhat.com>
- reapply gtkrc fixes for various locales

* Mon May  1 2000 Matt Wilson <msw at redhat.com>
- build package version 1.2.7

* Mon Feb 21 2000 Owen Taylor <otaylor at redhat.com>
- Fix weird excess " problem that somehow turned up in /etc/gtkrc.LANG

* Mon Feb 14 2000 Owen Taylor <otaylor at redhat.com>
- More patches from 1.2.7

* Fri Feb 04 2000 Owen Taylor <otaylor at redhat.com>
- Set the charset explicitely for the default font to avoid
  problems with XFree86-4.0 where the default charset is
  iso10646-1, not iso8859-1.
- Fix problems with size requisitions for scrolled windows
  that was causing looping. (RH bug #7997)

* Thu Feb 03 2000 Owen Taylor <otaylor at redhat.com>
- Explicitely set the foreground of the tooltips to black
  to avoid bad interactions with themes that set a
  light foreground color.

* Thu Feb 03 2000 Owen Taylor <otaylor at redhat.com>
- Added large patch of bugfixes in stable branch of CVS

* Tue Oct 12 1999 Owen Taylor <otaylor at redhat.com>
- Added Akira Higuti's patch for line-wrapping in GTK+

* Thu Oct 7  1999 Owen Taylor <otaylor at redhat.com>
- version 1.2.6

* Thu Sep 23 1999 Owen Taylor <otaylor at redhat.com>
- version 1.2.5
- install tutorial GIFs

* Wed Sep 22  1999 Owen Taylor <otaylor at redhat.com>
- Upgrade to real 1.2.5pre2
- Changed name so upgrade to 1.2.5 will work :-(
- Add extra gtkrc files
- Add examples and English language tutorial to -devel package

* Fri Sep 17 1999 Owen Taylor <otaylor at redhat.com>
- Upgraded to 1.2.5pre2. (Actually, pre-pre-2)

* Tue Aug 17 1999 Michael Fulbright <drmike at redhat.com>
- added threaded patch

* Mon Jun 7 1999 Owen Taylor <otaylor at redhat.com>
- Update for GTK+-1.2.3
- Patches that will be in GTK+-1.2.4
- Patch to keep GTK+ from coredumping on X IO errors
- Patch to improve compatilibity with GTK-1.2.1 (allow
  event mask to be set on realized widgets)

* Mon Apr 19 1999 Michael Fulbright <drmike at redhat.com>
- fixes memory leak

* Mon Apr 12 1999 Owen Taylor <otaylor at redhat.com>
- The important bug fixes that will be in GTK+-1.2.2

* Thu Apr 01 1999 Michael Fulbright <drmike at redhat.com>
- patches from owen to handle various gdk bugs

* Sun Mar 28 1999 Michael Fulbright <drmike at redhat.com>
- added XFree86-devel requirement for gtk+-devel

* Thu Mar 25 1999 Michael Fulbright <drmike at redhat.com>
- version 1.2.1

* Wed Mar 17 1999 Michael Fulbright <drmike at redhat.com>
- removed /usr/info/dir.gz file from package

* Fri Feb 26 1999 Michael Fulbright <drmike at redhat.com>
- Version 1.2.0

* Thu Feb 25 1999 Michael Fulbright <drmike at redhat.com>
- version 1.2.0pre2, patched to use --sysconfdir=/etc

* Mon Feb 15 1999 Michael Fulbright <drmike at redhat.com>
- patched in Owen's patch to fix Metal theme

* Fri Feb 05 1999 Michael Fulbright <drmike at redhat.com>
- bumped up to 1.1.15

* Wed Feb 03 1999 Michael Fulbright <drmike at redhat.com>
- bumped up to 1.1.14

* Mon Jan 18 1999 Michael Fulbright <drmike at redhat.com>
- bumped up to 1.1.13

* Wed Jan 06 1999 Michael Fulbright <drmike at redhat.com>
- bumped up to 1.1.12

* Wed Dec 16 1998 Michael Fulbright <drmike at redhat.com>
- added Theme directory to file list
- up to 1.1.7 for GNOME freeze

* Sun Oct 25 1998 Shawn T. Amundson <amundson at gtk.org>
- Fixed Source: to point to v1.1 

* Tue Aug 04 1998 Michael Fulbright <msf at redhat.com>
- change %postun to %preun

* Mon Jun 27 1998 Shawn T. Amundson
- Changed version to 1.1.0

* Thu Jun 11 1998 Dick Porter <dick at cymru.net>
- Removed glib, since it is its own module now

* Mon Apr 13 1998 Marc Ewing <marc at redhat.com>
- Split out glib package

* Tue Apr  8 1998 Shawn T. Amundson <amundson at gtk.org>
- Changed version to 1.0.0

* Tue Apr  7 1998 Owen Taylor <otaylor at gtk.org>
- Changed version to 0.99.10

* Thu Mar 19 1998 Shawn T. Amundson <amundson at gimp.org>
- Changed version to 0.99.9
- Changed gtk home page to www.gtk.org

* Thu Mar 19 1998 Shawn T. Amundson <amundson at gimp.org>
- Changed version to 0.99.8

* Sun Mar 15 1998 Marc Ewing <marc at redhat.com>
- Added aclocal and bin stuff to file list.
- Added -k to the SMP make line.
- Added lib/glib to file list.

* Fri Mar 14 1998 Shawn T. Amundson <amundson at gimp.org>
- Changed version to 0.99.7

* Fri Mar 14 1998 Shawn T. Amundson <amundson at gimp.org>
- Updated ftp url and changed version to 0.99.6

* Thu Mar 12 1998 Marc Ewing <marc at redhat.com>
- Reworked to integrate into gtk+ source tree
- Truncated ChangeLog.  Previous Authors:
  Trond Eivind Glomsrod <teg at pvv.ntnu.no>
  Michael K. Johnson <johnsonm at redhat.com>
  Otto Hammersmith <otto at redhat.com>
  


--- NEW FILE gtkrc-default ---
style "gtk-tooltips-style" {
  bg[NORMAL] = "#ffffc0"
  fg[NORMAL] = "#000000"
}

widget "gtk-tooltips" style "gtk-tooltips-style"

style "gtk-progressbar-style" {
  bg[NORMAL] = "#ffffff"
  bg[PRELIGHT] = "#a0a0a0"
}

class "GtkProgressBar" style "gtk-progressbar-style"


--- NEW FILE gtkrc.ja.utf8 ---
style "gtk-default-ja-utf8" {
       fontset = "-misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0208.1983-0,\
		  -adobe-helvetica-medium-r-normal--14-100-100-100-p-76-iso8859-1,\
		  *-r-*"
}
class "GtkWidget" style "gtk-default-ja-utf8"



--- NEW FILE gtkrc.ko.utf8 ---
style "gtk-default-ko-utf8" {
       fontset = "-*-gulim*-medium-r-normal--*-120-*-*-*-*-ksc5601.1987-0,\
                  -*-gulim*-medium-r-normal--*-120-*-*-*-*-ksc5601.1987-0,\
                  -*-kodig-medium-r-normal--*-120-*-*-*-*-ksc5601.1987-0,\
                  -*-*-medium-r-normal--*-120-*-*-*-*-ksc5601.1987-0,\
		  -adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*,\
		  *"
}
class "GtkWidget" style "gtk-default-ko-utf8"



--- NEW FILE gtkrc.zh_CN.utf8 ---
# $(gtkconfigdir)/gtkrc.zh_CN
#
# This file defines the fontsets for Chinese language (zh) using
# the simplified chinese standard GuoBiao as in mainland China (CN)
#
# 1999, Pablo Saratxaga <pablo at mandrakesoft.com>
#

style "gtk-default-zh-cn-utf8" {
       fontset = "-adobe-helvetica-medium-r-normal--16-*-*-*-*-*-iso8859-1,\
		  -*-*-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-cn-utf8"



--- NEW FILE gtkrc.zh_TW.utf8 ---
# $(gtkconfigdir)/gtkrc.zh_TW
#
# This file defines the fontsets for Chinese language (ch) using
# the traditional chinese Big5 encoding as used in Taiwan (TW)
#
# 1999, Pablo Saratxaga <pablo at mandrakesoft.com>
#

# IMPORTANT NOTE: The name of this file *MUST* be "gtkrc.zh_TW.big5"
# the lowercasing of "big5" is done on purpose, if you change it it won't work

style "gtk-default-zh-tw-utf8" {
	fontset = "-adobe-helvetica-medium-r-normal--16-*-*-*-*-*-iso8859-1,\
		  -taipei-*-medium-r-normal--*-*-*-*-*-*-big5-0,\
		  -*-*-medium-r-normal--16-*-*-*-*-*-big5-0,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-tw-utf8"



Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/gtk+/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	4 May 2006 16:04:13 -0000	1.1
+++ .cvsignore	4 May 2006 16:05:38 -0000	1.2
@@ -0,0 +1,2 @@
+gtk+-1.2.10.tar.gz
+gtk+-pofiles.tar.gz


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/gtk+/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	4 May 2006 16:04:13 -0000	1.1
+++ sources	4 May 2006 16:05:38 -0000	1.2
@@ -0,0 +1,2 @@
+4d5cb2fc7fb7830e4af9747a36bfce20  gtk+-1.2.10.tar.gz
+bd8c32890a2d6430395b0031d350b435  gtk+-pofiles.tar.gz




More information about the fedora-extras-commits mailing list