commit 9204fa856921a4ddb29b4bde2928a6eb1957694cb5f89c7b807ddc8acfb2ac1d Author: OBS User unknown Date: Fri Jan 5 15:49:44 2007 +0000 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gtk2?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/README.SuSE b/README.SuSE new file mode 100644 index 0000000..1d4cb02 --- /dev/null +++ b/README.SuSE @@ -0,0 +1,38 @@ +README for bi-architecture 64 bit platforms users +================================================= + +Current version of GTK+ has a problem running 32 and 64 version on +single machine. See http://bugzilla.gnome.org/show_bug.cgi?id=129540 and +http://bugzilla.gnome.org/show_bug.cgi?id=153848 for more information. + +To work around this problem, 64 bit version for SuSE Linux uses special +names for following files: + +/usr/bin/gtk-query-immodules-2.0: /usr/bin/gtk-query-immodules-2.0-64 +/usr/bin/gdk-pixbuf-query-loaders: /usr/bin/gdk-pixbuf-query-loaders-64 +/etc/gtk-2.0/gtk.immodules: /usr/gtk-2.0/gtk.immodules64 +/etc/gtk-2.0/gdk-pixbuf.loaders: /usr/gtk-2.0/gdk-pixbuf.loaders64 + +And following variable: + +$GTK_PATH: $GTK_PATH64 + +This can cause problems during self-compilation of packages. + +To work-around these problems (introduced by this work-around), you +should: + +Either: + +- Make a patch of package (please do not send it to package +developers, it's temporary solution). + +Or: + +- Install 32 bit version of GTK+. +- After installation, you must run following commands: +touch /var/adm/SuSEconfig/run-gtk +SuSEconfig + + +These problems should be correctly solved in GTK+ sometimes in future. diff --git a/SuSEconfig.gtk2 b/SuSEconfig.gtk2 new file mode 100644 index 0000000..f27518b --- /dev/null +++ b/SuSEconfig.gtk2 @@ -0,0 +1,81 @@ +#! /bin/sh +# Copyright (c) 2002 SuSE Gmbh Nuernberg, Germany. All rights reserved. +# +# Author: Holger Hetterich , 2002 +# +# SuSEconfig.gtk: this script will generate a /etc/gtk-2.0/gtk.immodules file +# based on the gtk-2.0 modules installed on the system +# +# +# check if we are started as root +# only one of UID and USER must be set correctly + +if test "$UID" != 0 -a "$USER" != root; then + echo "You must be root to start $0." + exit 1 +fi + +test -n "$ROOT" && exit 0 + +# do we need to check for loaders? only on RPM Update or new installation +if test -f /var/adm/SuSEconfig/run-gtk ; then + + test -d /etc/gtk-2.0 || mkdir /etc/gtk-2.0 + + if [ -x $r/usr/bin/gtk-query-immodules-2.0 ] ; then + /usr/bin/gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules + fi + + if [ -x $r/usr/bin/gdk-pixbuf-query-loaders ] ; then + /usr/bin/gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders + fi + + if [ -x $r/usr/bin/gtk-query-immodules-2.0-64 ] ; then + /usr/bin/gtk-query-immodules-2.0-64 > /etc/gtk-2.0/gtk64.immodules + fi + + if [ -x $r/usr/bin/gdk-pixbuf-query-loaders-64 ] ; then + /usr/bin/gdk-pixbuf-query-loaders-64 > /etc/gtk-2.0/gdk-pixbuf64.loaders + fi + + rm /var/adm/SuSEconfig/run-gtk + +fi + +# Remove all old icon cache files to prevent keeping of empty +# directories with icon-theme.cache after removing themes. +if test -f $r/var/cache/gtk-2.0/icon-theme.cache-list ; then + for DIR in $(<$r/var/cache/gtk-2.0/icon-theme.cache-list) ; do + if test $(ls -1 "$DIR" | wc --lines) -le 1 -a -f $DIR/icon-theme.cache; then + rm -f $DIR/icon-theme.cache + rmdir --ignore-fail-on-non-empty "$DIR" + else + if test -f $DIR/icon-theme.cache -a "$(find $DIR -type d -newer $DIR/icon-theme.cache)" ; then + rm -f $DIR/icon-theme.cache + fi + fi + done + rm /var/cache/gtk-2.0/icon-theme.cache-list +fi +# Update icon cache. +( + # Be sure, that environment is set properly. + if test -z "$XDG_DATA_DIRS" ; then + if test -f $r/etc/profile.d/xdg-enviroment.sh ; then + . $r/etc/profile.d/xdg-enviroment.sh + fi + fi + IFS="$IFS:" + for DIR in ${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/} ; do + for SUBDIR in $DIR/icons/* ; do + if test ! -L "$SUBDIR" -a -d "$SUBDIR" ; then + /usr/bin/gtk-update-icon-cache --quiet --ignore-theme-index --remove-empty-cache "$SUBDIR" + if test -f $SUBDIR/icon-theme.cache ; then + echo $SUBDIR >>$r/var/cache/gtk-2.0/icon-theme.cache-list + fi + fi + done + done +) + +exit 0 diff --git a/bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff b/bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff new file mode 100644 index 0000000..c831c56 --- /dev/null +++ b/bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff @@ -0,0 +1,44 @@ +--- gtk+-2.10.1/gtk/gtkfontbutton.c ++++ gtk+-2.10.1/gtk/gtkfontbutton.c +@@ -888,7 +888,7 @@ + if (style == NULL || !g_ascii_strcasecmp (style, "Regular")) + family_style = g_strdup (family); + else +- family_style = g_strdup_printf ("%s %s", family, style); ++ family_style = g_strdup_printf ("%s %s", family, _(style)); + + gtk_label_set_text (GTK_LABEL (font_button->priv->font_label), family_style); + +--- gtk+-2.10.1/gtk/gtkfontsel.c ++++ gtk+-2.10.1/gtk/gtkfontsel.c +@@ -73,6 +73,21 @@ + can set it. Remember that some fonts only have capital letters. */ + #define PREVIEW_TEXT N_("abcdefghijk ABCDEFGHIJK") + ++/* These are the commonly used font styles, listed here only for ++ translations. */ ++#define FONT_STYLE_ULTRA_LIGHT N_("Ultra-Light") ++#define FONT_STYLE_LIGHT N_("Light") ++#define FONT_STYLE_MEDIUM N_("Medium") ++#define FONT_STYLE_NORMAL N_("Normal") ++#define FONT_STYLE_REGULAR N_("Regular") ++#define FONT_STYLE_ITALIC N_("Italic") ++#define FONT_STYLE_OBLIQUE N_("Oblique") ++#define FONT_STYLE_SEMI_BOLD N_("Semi-Bold") ++#define FONT_STYLE_BOLD N_("Bold") ++#define FONT_STYLE_ULTRA_BOLD N_("Ultra-Bold") ++#define FONT_STYLE_HEAVY N_("Heavy") ++#define FONT_STYLE_BOLD_ITALIC N_("Bold Italic") ++ + /* This is the initial and maximum height of the preview entry (it expands + when large font sizes are selected). Initial height is also the minimum. */ + #define INITIAL_PREVIEW_HEIGHT 44 +@@ -801,7 +816,7 @@ + gtk_list_store_append (model, &iter); + gtk_list_store_set (model, &iter, + FACE_COLUMN, faces[i], +- FACE_NAME_COLUMN, str, ++ FACE_NAME_COLUMN, _(str), + -1); + + if (i == 0) diff --git a/bugzilla-131498-allow-xim-for-all-languages.patch b/bugzilla-131498-allow-xim-for-all-languages.patch new file mode 100644 index 0000000..fca38f8 --- /dev/null +++ b/bugzilla-131498-allow-xim-for-all-languages.patch @@ -0,0 +1,11 @@ +--- gtk+-2.10.1/modules/input/imxim.c ++++ gtk+-2.10.1/modules/input/imxim.c +@@ -28,7 +28,7 @@ + N_("X Input Method"), /* Human readable name */ + GETTEXT_PACKAGE, /* Translation domain */ + GTK_LOCALEDIR, /* Dir for bindtextdomain (not strictly needed for "gtk+") */ +- "ko:ja:th:zh" /* Languages for which this module is the default */ ++ "*" /* Languages for which this module is the default */ + }; + + static const GtkIMContextInfo *info_list[] = { diff --git a/gdk-modules-information.diff b/gdk-modules-information.diff new file mode 100644 index 0000000..4363500 --- /dev/null +++ b/gdk-modules-information.diff @@ -0,0 +1,15 @@ +--- gtk+-2.10.1/gdk-pixbuf/queryloaders.c ++++ gtk+-2.10.1/gdk-pixbuf/queryloaders.c +@@ -263,6 +263,12 @@ + g_printf ("# GdkPixbuf Image Loader Modules file\n" + "# Automatically generated file, do not edit\n" + "# Created by %s from gtk+-%s\n" ++ "#\n" ++ "# If you need to regenerate the Module Loader\n" ++ "# file, either run\n" ++ "# gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders\n" ++ "# or \n" ++ "# touch /var/adm/SuSEconfig/run-gtk ; SuSEconfig\n" + "#\n", + (prgname ? prgname : "gdk-pixbuf-query-loaders"), + GDK_PIXBUF_VERSION); diff --git a/gtk+-2.10.6.tar.bz2 b/gtk+-2.10.6.tar.bz2 new file mode 100644 index 0000000..587b024 --- /dev/null +++ b/gtk+-2.10.6.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca98edcea2034ab36c1024121a44d047de192d282127c8f8b77d14afba0ca468 +size 14561124 diff --git a/gtk+-2.8.6-fontsel-fix.patch b/gtk+-2.8.6-fontsel-fix.patch new file mode 100644 index 0000000..8eef8cb --- /dev/null +++ b/gtk+-2.8.6-fontsel-fix.patch @@ -0,0 +1,119 @@ +--- gtk/gtkfontsel.c ++++ gtk/gtkfontsel.c +@@ -595,9 +595,15 @@ + + if (gtk_widget_has_screen (GTK_WIDGET (fontsel))) + { ++ /* Disable selection timeout */ ++ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1)); ++ + gtk_font_selection_show_available_fonts (fontsel); + gtk_font_selection_show_available_sizes (fontsel, TRUE); + gtk_font_selection_show_available_styles (fontsel); ++ ++ /* Enable selection timeout */ ++ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0)); + } + } + +@@ -712,15 +718,24 @@ + { + GtkFontSelection *fontsel; + guint selection_timeout = 0; ++ guint immediate_selection = 0; + + fontsel = GTK_FONT_SELECTION (data); + selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "font-selection-timeout")); ++ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); + + if (selection_timeout) + g_source_remove (selection_timeout); + +- selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_font, data); +- g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ if (immediate_selection) ++ { ++ gtk_font_selection_real_select_font (data); ++ } ++ else ++ { ++ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_font, data); ++ g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ } + } + + static int +@@ -965,15 +980,24 @@ + { + GtkFontSelection *fontsel; + guint selection_timeout = 0; ++ guint immediate_selection = 0; + + fontsel = GTK_FONT_SELECTION (data); + selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "style-selection-timeout")); ++ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); + + if (selection_timeout) + g_source_remove (selection_timeout); + +- selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_style, data); +- g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ if (immediate_selection) ++ { ++ gtk_font_selection_real_select_style (data); ++ } ++ else ++ { ++ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_style, data); ++ g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ } + } + + static void +@@ -1142,15 +1166,24 @@ + { + GtkFontSelection *fontsel; + guint selection_timeout = 0; ++ guint immediate_selection = 0; + + fontsel = GTK_FONT_SELECTION (data); + selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "size-selection-timeout")); ++ immediate_selection = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "immediate-selection")); + + if (selection_timeout) + g_source_remove (selection_timeout); + +- selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_size, data); +- g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ if (immediate_selection) ++ { ++ gtk_font_selection_real_select_size (data); ++ } ++ else ++ { ++ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_size, data); ++ g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (selection_timeout)); ++ } + } + + static void +@@ -1334,6 +1367,9 @@ + if (!new_family) + return FALSE; + ++ /* Disable selection timeout */ ++ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (1)); ++ + fontsel->family = new_family; + set_cursor_to_iter (GTK_TREE_VIEW (fontsel->family_list), &iter); + gtk_font_selection_show_available_styles (fontsel); +@@ -1383,6 +1419,9 @@ + + pango_font_description_free (new_desc); + ++ /* Enable selection timeout */ ++ g_object_set_data (G_OBJECT (fontsel), "immediate-selection", GUINT_TO_POINTER (0)); ++ + return TRUE; + } + diff --git a/gtk+-2.8.6-fontsel.patch b/gtk+-2.8.6-fontsel.patch new file mode 100644 index 0000000..d40263f --- /dev/null +++ b/gtk+-2.8.6-fontsel.patch @@ -0,0 +1,201 @@ +Patch updated on 17 May 2006 with this changelog: + +================================================================================ +--- gtk/gtkfontsel.c ++++ gtk/gtkfontsel.c +@@ -563,11 +563,24 @@ + gtk_font_selection_finalize (GObject *object) + { + GtkFontSelection *fontsel; ++ guint selection_timeout; + + g_return_if_fail (GTK_IS_FONT_SELECTION (object)); + + fontsel = GTK_FONT_SELECTION (object); + ++ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "font-selection-timeout")); ++ if (selection_timeout) ++ g_source_remove (selection_timeout); ++ ++ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "style-selection-timeout")); ++ if (selection_timeout) ++ g_source_remove (selection_timeout); ++ ++ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "size-selection-timeout")); ++ if (selection_timeout) ++ g_source_remove (selection_timeout); ++ + if (fontsel->font) + gdk_font_unref (fontsel->font); + +@@ -646,10 +659,10 @@ + } + + /* This is called when a family is selected in the list. */ +-static void +-gtk_font_selection_select_font (GtkTreeSelection *selection, +- gpointer data) ++static gboolean ++gtk_font_selection_real_select_font (gpointer data) + { ++ GtkTreeSelection *selection; + GtkFontSelection *fontsel; + GtkTreeModel *model; + GtkTreeIter iter; +@@ -657,7 +670,11 @@ + const gchar *family_name; + #endif + ++ if (!g_object_get_data (G_OBJECT (data), "immediate-selection")) ++ GDK_THREADS_ENTER (); ++ + fontsel = GTK_FONT_SELECTION (data); ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (fontsel->family_list)); + + if (gtk_tree_selection_get_selected (selection, &model, &iter)) + { +@@ -679,6 +696,31 @@ + + g_object_unref (family); + } ++ ++ g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (0)); ++ ++ if (!g_object_get_data (G_OBJECT (fontsel), "immediate-selection")) ++ GDK_THREADS_LEAVE (); ++ ++ /* Remove ourselves */ ++ return FALSE; ++} ++ ++static void ++gtk_font_selection_select_font (GtkTreeSelection *selection, ++ gpointer data) ++{ ++ GtkFontSelection *fontsel; ++ guint selection_timeout = 0; ++ ++ fontsel = GTK_FONT_SELECTION (data); ++ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "font-selection-timeout")); ++ ++ if (selection_timeout) ++ g_source_remove (selection_timeout); ++ ++ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_font, data); ++ g_object_set_data (G_OBJECT (fontsel), "font-selection-timeout", GUINT_TO_POINTER (selection_timeout)); + } + + static int +@@ -881,14 +923,20 @@ + + + /* This is called when a style is selected in the list. */ +-static void +-gtk_font_selection_select_style (GtkTreeSelection *selection, +- gpointer data) ++static gboolean ++gtk_font_selection_real_select_style (gpointer data) + { +- GtkFontSelection *fontsel = GTK_FONT_SELECTION (data); ++ GtkTreeSelection *selection; ++ GtkFontSelection *fontsel; + GtkTreeModel *model; + GtkTreeIter iter; + ++ if (!g_object_get_data (G_OBJECT (data), "immediate-selection")) ++ GDK_THREADS_ENTER (); ++ ++ fontsel = GTK_FONT_SELECTION (data); ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (fontsel->face_list)); ++ + if (gtk_tree_selection_get_selected (selection, &model, &iter)) + { + PangoFontFace *face; +@@ -901,6 +949,31 @@ + + gtk_font_selection_show_available_sizes (fontsel, FALSE); + gtk_font_selection_select_best_size (fontsel); ++ ++ g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (0)); ++ ++ if (!g_object_get_data (G_OBJECT (fontsel), "immediate-selection")) ++ GDK_THREADS_LEAVE (); ++ ++ /* Remove ourselves */ ++ return FALSE; ++} ++ ++static void ++gtk_font_selection_select_style (GtkTreeSelection *selection, ++ gpointer data) ++{ ++ GtkFontSelection *fontsel; ++ guint selection_timeout = 0; ++ ++ fontsel = GTK_FONT_SELECTION (data); ++ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "style-selection-timeout")); ++ ++ if (selection_timeout) ++ g_source_remove (selection_timeout); ++ ++ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_style, data); ++ g_object_set_data (G_OBJECT (fontsel), "style-selection-timeout", GUINT_TO_POINTER (selection_timeout)); + } + + static void +@@ -1033,22 +1106,51 @@ + } + + /* This is called when a size is selected in the list. */ +-static void +-gtk_font_selection_select_size (GtkTreeSelection *selection, +- gpointer data) ++static gboolean ++gtk_font_selection_real_select_size (gpointer data) + { ++ GtkTreeSelection *selection; + GtkFontSelection *fontsel; + GtkTreeModel *model; + GtkTreeIter iter; + gint new_size; + ++ if (!g_object_get_data (G_OBJECT (data), "immediate-selection")) ++ GDK_THREADS_ENTER (); ++ + fontsel = GTK_FONT_SELECTION (data); +- ++ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (fontsel->size_list)); ++ + if (gtk_tree_selection_get_selected (selection, &model, &iter)) + { + gtk_tree_model_get (model, &iter, SIZE_COLUMN, &new_size, -1); + gtk_font_selection_set_size (fontsel, new_size * PANGO_SCALE); + } ++ ++ g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (0)); ++ ++ if (!g_object_get_data (G_OBJECT (fontsel), "immediate-selection")) ++ GDK_THREADS_LEAVE (); ++ ++ /* Remove ourselves */ ++ return FALSE; ++} ++ ++static void ++gtk_font_selection_select_size (GtkTreeSelection *selection, ++ gpointer data) ++{ ++ GtkFontSelection *fontsel; ++ guint selection_timeout = 0; ++ ++ fontsel = GTK_FONT_SELECTION (data); ++ selection_timeout = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (fontsel), "size-selection-timeout")); ++ ++ if (selection_timeout) ++ g_source_remove (selection_timeout); ++ ++ selection_timeout = g_timeout_add (200, gtk_font_selection_real_select_size, data); ++ g_object_set_data (G_OBJECT (fontsel), "size-selection-timeout", GUINT_TO_POINTER (selection_timeout)); + } + + static void diff --git a/gtk+-mac_ctree.patch b/gtk+-mac_ctree.patch new file mode 100644 index 0000000..cc81df2 --- /dev/null +++ b/gtk+-mac_ctree.patch @@ -0,0 +1,13 @@ +--- gtk+-2.4.0/gtk/gtkctree.c ++++ gtk+-2.4.0/gtk/gtkctree.c +@@ -654,8 +654,8 @@ + ctree->tree_indent = 20; + ctree->tree_spacing = 5; + ctree->tree_column = 0; +- ctree->line_style = GTK_CTREE_LINES_SOLID; +- ctree->expander_style = GTK_CTREE_EXPANDER_SQUARE; ++ ctree->line_style = GTK_CTREE_LINES_NONE; ++ ctree->expander_style = GTK_CTREE_EXPANDER_TRIANGLE; + ctree->drag_compare = NULL; + ctree->show_stub = TRUE; + diff --git a/gtk+-strict-aliasing.patch b/gtk+-strict-aliasing.patch new file mode 100644 index 0000000..1ad974f --- /dev/null +++ b/gtk+-strict-aliasing.patch @@ -0,0 +1,413 @@ +Index: gtk+-2.8.4/demos/gtk-demo/changedisplay.c +=================================================================== +--- gtk+-2.8.4.orig/demos/gtk-demo/changedisplay.c ++++ gtk+-2.8.4/demos/gtk-demo/changedisplay.c +@@ -73,7 +73,7 @@ static GtkWidget * + find_toplevel_at_pointer (GdkDisplay *display) + { + GdkWindow *pointer_window; +- GtkWidget *widget = NULL; ++ gpointer widget = NULL; + + pointer_window = gdk_display_get_window_at_pointer (display, NULL, NULL); + +@@ -81,7 +81,7 @@ find_toplevel_at_pointer (GdkDisplay *di + * to the widget that created it. + */ + if (pointer_window) +- gdk_window_get_user_data (pointer_window, (gpointer*) &widget); ++ gdk_window_get_user_data (pointer_window, &widget); + + return widget ? gtk_widget_get_toplevel (widget) : NULL; + } +Index: gtk+-2.8.4/demos/gtk-demo/textview.c +=================================================================== +--- gtk+-2.8.4.orig/demos/gtk-demo/textview.c ++++ gtk+-2.8.4/demos/gtk-demo/textview.c +@@ -548,7 +548,7 @@ static void + easter_egg_callback (GtkWidget *button, + gpointer data) + { +- static GtkWidget *window = NULL; ++ static gpointer window = NULL; + GtkTextBuffer *buffer; + GtkWidget *view; + GtkTextIter iter; +@@ -587,7 +587,7 @@ easter_egg_callback (GtkWidget *button, + gtk_container_add (GTK_CONTAINER (sw), view); + + g_object_add_weak_pointer (G_OBJECT (window), +- (gpointer *) &window); ++ &window); + + gtk_window_set_default_size (GTK_WINDOW (window), 300, 400); + +Index: gtk+-2.8.4/gdk-pixbuf/queryloaders.c +=================================================================== +--- gtk+-2.8.4.orig/gdk-pixbuf/queryloaders.c ++++ gtk+-2.8.4/gdk-pixbuf/queryloaders.c +@@ -153,6 +153,7 @@ query_module (const char *dir, const cha + GModule *module; + void (*fill_info) (GdkPixbufFormat *info); + void (*fill_vtable) (GdkPixbufModule *module); ++ gpointer pfi, pfv; + + if (g_path_is_absolute (file)) + path = g_strdup (file); +@@ -161,8 +162,8 @@ query_module (const char *dir, const cha + + module = g_module_open (path, 0); + if (module && +- g_module_symbol (module, "fill_info", (gpointer *) &fill_info) && +- g_module_symbol (module, "fill_vtable", (gpointer *) &fill_vtable)) { ++ g_module_symbol (module, "fill_info", &pfi) && ++ g_module_symbol (module, "fill_vtable", &pfv)) { + GdkPixbufFormat *info; + GdkPixbufModule *vtable; + +@@ -184,6 +185,9 @@ query_module (const char *dir, const cha + + vtable->module = module; + ++ fill_info = pfi; ++ fill_vtable = pfv; ++ + (*fill_info) (info); + (*fill_vtable) (vtable); + +Index: gtk+-2.8.4/gdk/x11/gdkdnd-x11.c +=================================================================== +--- gtk+-2.8.4.orig/gdk/x11/gdkdnd-x11.c ++++ gtk+-2.8.4/gdk/x11/gdkdnd-x11.c +@@ -915,6 +915,7 @@ motif_read_target_table (GdkDisplay *dis + { + guchar *data; + MotifTargetTableHeader *header = NULL; ++ gpointer vp_header = &header; + guchar *target_bytes = NULL; + guchar *p; + gboolean success = FALSE; +@@ -1269,6 +1270,7 @@ motif_check_dest (GdkDisplay *display, + gboolean retval = FALSE; + guchar *data; + MotifDragReceiverInfo *info; ++ gpointer vp_info = &info; + Atom type = None; + int format; + unsigned long nitems, after; +@@ -1468,6 +1470,7 @@ motif_read_initiator_info (GdkDisplay *d + gulong bytes_after; + guchar *data; + MotifDragInitiatorInfo *initiator_info; ++ gpointer vp_initiator_info = &initiator_info; + + GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + +@@ -2402,7 +2405,9 @@ xdnd_check_dest (GdkDisplay *display, + unsigned long nitems, after; + guchar *data; + Atom *version; ++ gpointer vp_version = &version; + Window *proxy_data; ++ gpointer vp_proxy_data = &proxy_data; + Window proxy; + Atom xdnd_proxy_atom = gdk_x11_get_xatom_by_name_for_display (display, "XdndProxy"); + Atom xdnd_aware_atom = gdk_x11_get_xatom_by_name_for_display (display, "XdndAware"); +Index: gtk+-2.8.4/gdk/x11/gdkevents-x11.c +=================================================================== +--- gtk+-2.8.4.orig/gdk/x11/gdkevents-x11.c ++++ gtk+-2.8.4/gdk/x11/gdkevents-x11.c +@@ -496,6 +496,7 @@ gdk_check_wm_state_changed (GdkWindow *w + gulong bytes_after; + guchar *data; + Atom *atoms = NULL; ++ gpointer vp_atoms = &atoms; + gulong i; + + gboolean had_sticky = toplevel->have_sticky; +@@ -2540,6 +2541,7 @@ fetch_net_wm_check_window (GdkScreen *sc + gulong bytes_after; + guchar *data; + Window *xwindow; ++ gpointer vp_xwindow = &xwindow; + + /* This function is very slow on every call if you are not running a + * spec-supporting WM. For now not optimized, because it isn't in +Index: gtk+-2.8.4/gdk/x11/gdkim-x11.c +=================================================================== +--- gtk+-2.8.4.orig/gdk/x11/gdkim-x11.c ++++ gtk+-2.8.4/gdk/x11/gdkim-x11.c +@@ -134,6 +134,7 @@ find_a_display (void) + gchar * + gdk_wcstombs (const GdkWChar *src) + { ++ gpointer vp_src = &src; + gchar *mbstr; + + if (gdk_use_mb) +Index: gtk+-2.8.4/gdk/x11/gdkwindow-x11.c +=================================================================== +--- gtk+-2.8.4.orig/gdk/x11/gdkwindow-x11.c ++++ gtk+-2.8.4/gdk/x11/gdkwindow-x11.c +@@ -4729,6 +4729,7 @@ gdk_window_set_mwm_hints (GdkWindow *win + Atom hints_atom = None; + guchar *data; + MotifWmHints *hints; ++ gpointer vp_hints = &hints; + Atom type; + gint format; + gulong nitems; +Index: gtk+-2.8.4/gtk/gtkmain.c +=================================================================== +--- gtk+-2.8.4.orig/gtk/gtkmain.c ++++ gtk+-2.8.4/gtk/gtkmain.c +@@ -1156,7 +1156,8 @@ static GdkEvent * + rewrite_event_for_grabs (GdkEvent *event) + { + GdkWindow *grab_window; +- GtkWidget *event_widget, *grab_widget; ++ GtkWidget *event_widget; ++ gpointer grab_widget; + gboolean owner_events; + GdkDisplay *display; + +@@ -2040,12 +2041,12 @@ gtk_get_current_event_state (GdkModifier + GtkWidget* + gtk_get_event_widget (GdkEvent *event) + { +- GtkWidget *widget; ++ gpointer widget; + + widget = NULL; + if (event && event->any.window && + (event->type == GDK_DESTROY || !GDK_WINDOW_DESTROYED (event->any.window))) +- gdk_window_get_user_data (event->any.window, (void**) &widget); ++ gdk_window_get_user_data (event->any.window, &widget); + + return widget; + } +Index: gtk+-2.8.4/gtk/gtkmodules.c +=================================================================== +--- gtk+-2.8.4.orig/gtk/gtkmodules.c ++++ gtk+-2.8.4/gtk/gtkmodules.c +@@ -252,7 +252,7 @@ static GSList * + load_module (GSList *module_list, + const gchar *name) + { +- GtkModuleInitFunc modinit_func; ++ gpointer modinit_func; + GtkModuleInfo *info = NULL; + GModule *module = NULL; + GSList *l; +@@ -278,7 +278,7 @@ load_module (GSList *module_list, + + if (module) + { +- if (!g_module_symbol (module, "gtk_module_init", (gpointer *) &modinit_func) || ++ if (!g_module_symbol (module, "gtk_module_init", &modinit_func) || + !modinit_func) + g_module_close (module); + else +Index: gtk+-2.8.4/gtk/gtkselection.c +=================================================================== +--- gtk+-2.8.4.orig/gtk/gtkselection.c ++++ gtk+-2.8.4/gtk/gtkselection.c +@@ -945,7 +945,7 @@ gtk_selection_convert (GtkWidget *widget + + if (owner_window != NULL) + { +- GtkWidget *owner_widget; ++ void *owner_widget; + GtkSelectionData selection_data; + + selection_data.selection = selection; +@@ -954,7 +954,7 @@ gtk_selection_convert (GtkWidget *widget + selection_data.length = -1; + selection_data.display = display; + +- gdk_window_get_user_data (owner_window, (gpointer *)&owner_widget); ++ gdk_window_get_user_data (owner_window, &owner_widget); + + if (owner_widget != NULL) + { +Index: gtk+-2.8.4/gtk/gtktipsquery.c +=================================================================== +--- gtk+-2.8.4.orig/gtk/gtktipsquery.c ++++ gtk+-2.8.4/gtk/gtktipsquery.c +@@ -444,7 +444,7 @@ gtk_tips_query_event (GtkWidget * + GdkEvent *event) + { + GtkTipsQuery *tips_query; +- GtkWidget *event_widget; ++ gpointer event_widget; + gboolean event_handled; + + g_return_val_if_fail (GTK_IS_TIPS_QUERY (widget), FALSE); +@@ -467,12 +467,12 @@ gtk_tips_query_event (GtkWidget * + + case GDK_LEAVE_NOTIFY: + if (event_widget) +- pointer_window = gdk_window_get_pointer (event_widget->window, NULL, NULL, NULL); ++ pointer_window = gdk_window_get_pointer (((GtkWidget*)event_widget)->window, NULL, NULL, NULL); + else + pointer_window = NULL; + event_widget = NULL; + if (pointer_window) +- gdk_window_get_user_data (pointer_window, (gpointer*) &event_widget); ++ gdk_window_get_user_data (pointer_window, &event_widget); + gtk_tips_query_emit_widget_entered (tips_query, event_widget); + event_handled = TRUE; + break; +Index: gtk+-2.8.4/gtk/gtkwidget.c +=================================================================== +--- gtk+-2.8.4.orig/gtk/gtkwidget.c ++++ gtk+-2.8.4/gtk/gtkwidget.c +@@ -3819,12 +3819,12 @@ gtk_widget_reparent_subwindows (GtkWidge + + for (tmp_list = children; tmp_list; tmp_list = tmp_list->next) + { +- GtkWidget *child; ++ gpointer child; + GdkWindow *window = tmp_list->data; + +- gdk_window_get_user_data (window, (void **)&child); ++ gdk_window_get_user_data (window, &child); + while (child && child != widget) +- child = child->parent; ++ child = ((GtkWidget*)child)->parent; + + if (child) + gdk_window_reparent (window, new_window, 0, 0); +@@ -3847,10 +3847,10 @@ gtk_widget_reparent_subwindows (GtkWidge + + for (tmp_list = children; tmp_list; tmp_list = tmp_list->next) + { +- GtkWidget *child; ++ gpointer child; + GdkWindow *window = tmp_list->data; + +- gdk_window_get_user_data (window, (void **)&child); ++ gdk_window_get_user_data (window, &child); + if (child == widget) + gdk_window_reparent (window, new_window, 0, 0); + } +Index: gtk+-2.8.4/gtk/queryimmodules.c +=================================================================== +--- gtk+-2.8.4.orig/gtk/queryimmodules.c ++++ gtk+-2.8.4/gtk/queryimmodules.c +@@ -89,11 +89,10 @@ print_escaped (const char *str) + static gboolean + query_module (const char *dir, const char *name) + { +- void (*list) (const GtkIMContextInfo ***contexts, +- guint *n_contexts); +- void (*init) (GTypeModule *type_module); +- void (*exit) (void); +- GtkIMContext *(*create) (const gchar *context_id); ++ gpointer list; ++ gpointer init; ++ gpointer exit; ++ gpointer create; + + GModule *module; + gchar *path; +@@ -113,10 +112,10 @@ query_module (const char *dir, const cha + } + + if (module && +- g_module_symbol (module, "im_module_list", (gpointer *) &list) && +- g_module_symbol (module, "im_module_init", (gpointer *) &init) && +- g_module_symbol (module, "im_module_exit", (gpointer *) &exit) && +- g_module_symbol (module, "im_module_create", (gpointer *) &create)) ++ g_module_symbol (module, "im_module_list", &list) && ++ g_module_symbol (module, "im_module_init", &init) && ++ g_module_symbol (module, "im_module_exit", &exit) && ++ g_module_symbol (module, "im_module_create", &create)) + { + const GtkIMContextInfo **contexts; + guint n_contexts; +@@ -125,7 +124,7 @@ query_module (const char *dir, const cha + print_escaped (path); + fputs ("\n", stdout); + +- (*list) (&contexts, &n_contexts); ++ ((void(*)(const GtkIMContextInfo ***, guint *)) list) (&contexts, &n_contexts); + + for (i=0; i + #include + #include +Index: gtk+-2.8.4/tests/testgtk.c +=================================================================== +--- gtk+-2.8.4.orig/tests/testgtk.c ++++ gtk+-2.8.4/tests/testgtk.c +@@ -2231,7 +2231,7 @@ gridded_geometry_response (GtkDialog *di + static void + create_gridded_geometry (GtkWidget *widget) + { +- static GtkWidget *window = NULL; ++ static gpointer window = NULL; + GtkWidget *entry; + GtkWidget *label; + +@@ -2255,7 +2255,7 @@ create_gridded_geometry (GtkWidget *widg + + g_signal_connect (window, "response", + G_CALLBACK (gridded_geometry_response), entry); +- g_object_add_weak_pointer (G_OBJECT (window), (gpointer *)&window); ++ g_object_add_weak_pointer (G_OBJECT (window), &window); + + gtk_widget_show_all (window); + } +@@ -4607,7 +4607,7 @@ accel_button_new (GtkAccelGroup *accel_g + static void + create_key_lookup (GtkWidget *widget) + { +- static GtkWidget *window = NULL; ++ static gpointer window = NULL; + + if (!window) + { +@@ -4648,7 +4648,7 @@ create_key_lookup (GtkWidget *widget) + button = gtk_button_new_with_mnemonic ("Button 11 (_!)"); + gtk_box_pack_start (GTK_BOX (GTK_DIALOG (window)->vbox), button, FALSE, FALSE, 0); + +- g_object_add_weak_pointer (G_OBJECT (window), (gpointer *)&window); ++ g_object_add_weak_pointer (G_OBJECT (window), &window); + g_signal_connect (window, "response", G_CALLBACK (gtk_object_destroy), NULL); + + gtk_widget_show_all (window); +@@ -11784,7 +11784,7 @@ find_widget (GtkWidget *widget, FindWidg + static GtkWidget * + find_widget_at_pointer (GdkDisplay *display) + { +- GtkWidget *widget = NULL; ++ gpointer widget = NULL; + GdkWindow *pointer_window; + gint x, y; + FindWidgetData data; +@@ -11792,11 +11792,11 @@ find_widget_at_pointer (GdkDisplay *disp + pointer_window = gdk_display_get_window_at_pointer (display, NULL, NULL); + + if (pointer_window) +- gdk_window_get_user_data (pointer_window, (gpointer*) &widget); ++ gdk_window_get_user_data (pointer_window, &widget); + + if (widget) + { +- gdk_window_get_pointer (widget->window, ++ gdk_window_get_pointer (((GtkWidget *)widget)->window, + &x, &y, NULL); + + data.x = x; diff --git a/gtk2-filesel-navbuttons.patch b/gtk2-filesel-navbuttons.patch new file mode 100644 index 0000000..393081d --- /dev/null +++ b/gtk2-filesel-navbuttons.patch @@ -0,0 +1,1174 @@ +--- gtk+-2.4.0/gtk/gtkfilesel.c ++++ gtk+-2.4.0/gtk/gtkfilesel.c +@@ -82,8 +82,12 @@ + #include "gtkoptionmenu.h" + #define GTK_DISABLE_DEPRECATED + ++#include "gtkimage.h" ++ + #define WANT_HPANED 1 + #include "gtkhpaned.h" ++ ++#include "stock-icons/ximian-icons.h" + + #ifdef G_OS_WIN32 + #include +@@ -319,6 +323,9 @@ + */ + static gchar* cmpl_completion_fullname (const gchar*, CompletionState* cmpl_state); + ++static void home_clicked (GtkWidget *widget, gpointer data); ++static void desktop_clicked (GtkWidget *widget, gpointer data); ++static void documents_clicked (GtkWidget *widget, gpointer data); + + /* Directory operations. */ + static CompletionDir* open_ref_dir (gchar* text_to_complete, +@@ -663,6 +670,10 @@ + GtkWidget *spacer; + GtkDialog *dialog; + ++ GdkPixbuf *ipixbuf; ++ GtkWidget *bbox, *home_button, *desk_button, *docs_button, *xbox; ++ GtkWidget *lbox; ++ + GtkListStore *model; + GtkTreeViewColumn *column; + +@@ -676,18 +687,9 @@ + filesel->main_vbox = dialog->vbox; + gtk_container_set_border_width (GTK_CONTAINER (filesel), 10); + +- /* The horizontal box containing create, rename etc. buttons */ +- filesel->button_area = gtk_hbutton_box_new (); +- gtk_button_box_set_layout (GTK_BUTTON_BOX (filesel->button_area), GTK_BUTTONBOX_START); +- gtk_box_set_spacing (GTK_BOX (filesel->button_area), 0); +- gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->button_area, +- FALSE, FALSE, 0); +- gtk_widget_show (filesel->button_area); +- +- gtk_file_selection_show_fileop_buttons (filesel); +- + /* hbox for pulldown menu */ + pulldown_hbox = gtk_hbox_new (TRUE, 5); ++ gtk_container_set_border_width (GTK_CONTAINER (pulldown_hbox), 4); + gtk_box_pack_start (GTK_BOX (filesel->main_vbox), pulldown_hbox, FALSE, FALSE, 0); + gtk_widget_show (pulldown_hbox); + +@@ -699,14 +701,27 @@ + + /* The horizontal box containing the directory and file listboxes */ + ++ xbox = gtk_hbox_new (FALSE, 0); ++ gtk_box_pack_start (GTK_BOX (filesel->main_vbox), xbox, TRUE, TRUE, 0); ++ gtk_widget_show (xbox); ++ ++ bbox = gtk_vbox_new (FALSE, 0); ++ gtk_box_pack_start (GTK_BOX (xbox), bbox, FALSE, FALSE, 5); ++ gtk_widget_show (bbox); ++ ++ lbox = gtk_vbox_new (FALSE, 0); ++ gtk_box_pack_start (GTK_BOX (xbox), lbox, TRUE, TRUE, 5); ++ gtk_widget_show (lbox); ++ + spacer = gtk_hbox_new (FALSE, 0); + gtk_widget_set_size_request (spacer, -1, 5); +- gtk_box_pack_start (GTK_BOX (filesel->main_vbox), spacer, FALSE, FALSE, 0); ++ gtk_box_pack_start (GTK_BOX (lbox), spacer, FALSE, FALSE, 0); + gtk_widget_show (spacer); + + list_hbox = gtk_hbox_new (FALSE, 5); +- gtk_box_pack_start (GTK_BOX (filesel->main_vbox), list_hbox, TRUE, TRUE, 0); ++ gtk_box_pack_start (GTK_BOX (lbox), list_hbox, TRUE, TRUE, 0); + gtk_widget_show (list_hbox); ++ + if (WANT_HPANED) + list_container = g_object_new (GTK_TYPE_HPANED, + "visible", TRUE, +@@ -718,9 +733,78 @@ + + spacer = gtk_hbox_new (FALSE, 0); + gtk_widget_set_size_request (spacer, -1, 5); +- gtk_box_pack_start (GTK_BOX (filesel->main_vbox), spacer, FALSE, FALSE, 0); ++ gtk_box_pack_start (GTK_BOX (lbox), spacer, FALSE, FALSE, 0); + gtk_widget_show (spacer); + ++ ++ /* The Pretty Icons */ ++ ++ home_button = gtk_button_new (); ++ gtk_container_set_border_width (GTK_CONTAINER (home_button), 4); ++ gtk_box_pack_start (GTK_BOX (bbox), home_button, FALSE, FALSE, 0); ++ gtk_widget_show (home_button); ++ ++ g_signal_connect (G_OBJECT (home_button), "clicked", ++ G_CALLBACK (home_clicked), filesel); ++ ++ xbox = gtk_vbox_new (FALSE, 0); ++ gtk_container_add (GTK_CONTAINER (home_button), xbox); ++ gtk_widget_show (xbox); ++ ++ ipixbuf = gdk_pixbuf_new_from_inline (-1, stock_home_48, FALSE, NULL); ++ label = gtk_image_new_from_pixbuf (ipixbuf); ++ gtk_box_pack_start (GTK_BOX (xbox), label, FALSE, FALSE, 0); ++ gtk_widget_show (label); ++ ++ label = gtk_label_new_with_mnemonic (_("_Home")); ++ gtk_label_set_mnemonic_widget (GTK_LABEL (label), home_button); ++ gtk_box_pack_end (GTK_BOX (xbox), label, FALSE, FALSE, 0); ++ gtk_widget_show (label); ++ ++ desk_button = gtk_button_new (); ++ gtk_container_set_border_width (GTK_CONTAINER (desk_button), 4); ++ gtk_box_pack_start (GTK_BOX (bbox), desk_button, FALSE, FALSE, 0); ++ gtk_widget_show (desk_button); ++ ++ g_signal_connect (G_OBJECT (desk_button), "clicked", ++ G_CALLBACK (desktop_clicked), filesel); ++ ++ xbox = gtk_vbox_new (FALSE, 0); ++ gtk_container_add (GTK_CONTAINER (desk_button), xbox); ++ gtk_widget_show (xbox); ++ ++ ipixbuf = gdk_pixbuf_new_from_inline (-1, stock_desktop_48, FALSE, NULL); ++ label = gtk_image_new_from_pixbuf (ipixbuf); ++ gtk_box_pack_start (GTK_BOX (xbox), label, FALSE, FALSE, 0); ++ gtk_widget_show (label); ++ ++ label = gtk_label_new_with_mnemonic (_("D_esktop")); ++ gtk_label_set_mnemonic_widget (GTK_LABEL (label), desk_button); ++ gtk_box_pack_end (GTK_BOX (xbox), label, FALSE, FALSE, 0); ++ gtk_widget_show (label); ++ ++ docs_button = gtk_button_new (); ++ gtk_container_set_border_width (GTK_CONTAINER (docs_button), 4); ++ gtk_box_pack_start (GTK_BOX (bbox), docs_button, FALSE, FALSE, 0); ++ gtk_widget_show (docs_button); ++ ++ g_signal_connect (G_OBJECT (docs_button), "clicked", ++ G_CALLBACK (documents_clicked), filesel); ++ ++ xbox = gtk_vbox_new (FALSE, 0); ++ gtk_container_add (GTK_CONTAINER (docs_button), xbox); ++ gtk_widget_show (xbox); ++ ++ ipixbuf = gdk_pixbuf_new_from_inline (-1, stock_documents_48, FALSE, NULL); ++ label = gtk_image_new_from_pixbuf (ipixbuf); ++ gtk_box_pack_start (GTK_BOX (xbox), label, FALSE, FALSE, 0); ++ gtk_widget_show (label); ++ ++ label = gtk_label_new_with_mnemonic (_("Docu_ments")); ++ gtk_label_set_mnemonic_widget (GTK_LABEL (label), docs_button); ++ gtk_box_pack_end (GTK_BOX (xbox), label, FALSE, FALSE, 0); ++ gtk_widget_show (label); ++ + /* The directories list */ + + model = gtk_list_store_new (1, G_TYPE_STRING); +@@ -793,6 +877,15 @@ + gtk_widget_show (filesel->file_list); + gtk_widget_show (scrolled_win); + ++ /* The horizontal box containing create, rename etc. buttons */ ++ filesel->button_area = gtk_hbox_new (FALSE, 0); ++ gtk_box_set_spacing (GTK_BOX (filesel->button_area), 0); ++ gtk_box_pack_start (GTK_BOX (lbox), filesel->button_area, ++ FALSE, FALSE, 0); ++ gtk_widget_show (filesel->button_area); ++ ++ gtk_file_selection_show_fileop_buttons (filesel); ++ + /* action area for packing buttons into. */ + filesel->action_area = gtk_hbox_new (TRUE, 0); + gtk_box_pack_start (GTK_BOX (filesel->main_vbox), filesel->action_area, +@@ -1107,39 +1200,94 @@ + void + gtk_file_selection_show_fileop_buttons (GtkFileSelection *filesel) + { ++ GtkWidget *label; ++ GtkWidget *bbox; ++ + g_return_if_fail (GTK_IS_FILE_SELECTION (filesel)); + + /* delete, create directory, and rename */ + if (!filesel->fileop_c_dir) + { +- filesel->fileop_c_dir = gtk_button_new_with_mnemonic (_("_New Folder")); ++ filesel->fileop_c_dir = gtk_button_new (); ++ gtk_container_set_border_width (GTK_CONTAINER (filesel->fileop_c_dir), 4); ++ ++ bbox = gtk_hbox_new (FALSE, 2); ++ gtk_container_add (GTK_CONTAINER (filesel->fileop_c_dir), bbox); ++ ++ label = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_BUTTON); ++ gtk_box_pack_start (GTK_BOX (bbox), label, FALSE, FALSE, 0); ++ gtk_widget_show (label); ++ ++ label = gtk_label_new_with_mnemonic (_("_New Folder")); ++ gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->fileop_c_dir); ++ gtk_box_pack_start (GTK_BOX (bbox), label, FALSE, FALSE, 0); ++ gtk_widget_show (label); ++ ++ gtk_widget_show (bbox); ++ + g_signal_connect (filesel->fileop_c_dir, "clicked", +- G_CALLBACK (gtk_file_selection_create_dir), +- filesel); ++ G_CALLBACK (gtk_file_selection_create_dir), ++ (gpointer) filesel); + gtk_box_pack_start (GTK_BOX (filesel->button_area), +- filesel->fileop_c_dir, TRUE, TRUE, 0); ++ filesel->fileop_c_dir, FALSE, FALSE, 0); + gtk_widget_show (filesel->fileop_c_dir); + } +- ++ + if (!filesel->fileop_del_file) + { +- filesel->fileop_del_file = gtk_button_new_with_mnemonic (_("De_lete File")); ++ filesel->fileop_del_file = gtk_button_new (); ++ gtk_container_set_border_width (GTK_CONTAINER (filesel->fileop_del_file), 4); ++ ++ bbox = gtk_hbox_new (FALSE, 2); ++ gtk_container_add (GTK_CONTAINER (filesel->fileop_del_file), bbox); ++ ++ label = gtk_image_new_from_stock (GTK_STOCK_DELETE, ++ GTK_ICON_SIZE_BUTTON); ++ gtk_box_pack_start (GTK_BOX (bbox), label, FALSE, FALSE, 0); ++ gtk_widget_show (label); ++ ++ label = gtk_label_new (_("De_lete File")); ++ gtk_label_set_use_underline (GTK_LABEL (label), TRUE); ++ gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->fileop_del_file); ++ gtk_box_pack_start (GTK_BOX (bbox), label, FALSE, FALSE, 0); ++ gtk_widget_show (label); ++ ++ gtk_widget_show (bbox); ++ + g_signal_connect (filesel->fileop_del_file, "clicked", + G_CALLBACK (gtk_file_selection_delete_file), +- filesel); +- gtk_box_pack_start (GTK_BOX (filesel->button_area), +- filesel->fileop_del_file, TRUE, TRUE, 0); ++ (gpointer) filesel); ++ gtk_box_pack_end (GTK_BOX (filesel->button_area), ++ filesel->fileop_del_file, FALSE, FALSE, 0); + gtk_widget_show (filesel->fileop_del_file); + } +- ++ + if (!filesel->fileop_ren_file) + { +- filesel->fileop_ren_file = gtk_button_new_with_mnemonic (_("_Rename File")); ++ filesel->fileop_ren_file = gtk_button_new (); ++ gtk_container_set_border_width (GTK_CONTAINER (filesel->fileop_ren_file), 4); ++ ++ bbox = gtk_hbox_new (FALSE, 2); ++ gtk_container_add (GTK_CONTAINER (filesel->fileop_ren_file), bbox); ++ ++ label = gtk_image_new_from_stock (GTK_STOCK_SAVE_AS, ++ GTK_ICON_SIZE_BUTTON); ++ gtk_box_pack_start (GTK_BOX (bbox), label, FALSE, FALSE, 0); ++ gtk_widget_show (label); ++ ++ label = gtk_label_new (_("_Rename File")); ++ gtk_label_set_use_underline (GTK_LABEL (label), TRUE); ++ gtk_label_set_mnemonic_widget (GTK_LABEL (label), filesel->fileop_ren_file); ++ gtk_box_pack_start (GTK_BOX (bbox), label, FALSE, FALSE, 0); ++ gtk_widget_show (label); ++ ++ gtk_widget_show (bbox); ++ + g_signal_connect (filesel->fileop_ren_file, "clicked", + G_CALLBACK (gtk_file_selection_rename_file), +- filesel); +- gtk_box_pack_start (GTK_BOX (filesel->button_area), +- filesel->fileop_ren_file, TRUE, TRUE, 0); ++ (gpointer) filesel); ++ gtk_box_pack_end (GTK_BOX (filesel->button_area), ++ filesel->fileop_ren_file, FALSE, FALSE, 0); + gtk_widget_show (filesel->fileop_ren_file); + } + +@@ -1841,6 +1989,54 @@ + gtk_widget_set_sensitive (fs->fileop_ren_file, sensitive); + } + ++static void ++home_clicked (GtkWidget *widget, gpointer data) ++{ ++ char *dir; ++ ++ dir = g_strdup_printf ("%s/", g_get_home_dir()); ++ ++ gtk_file_selection_populate (GTK_FILE_SELECTION (data), ++ dir, FALSE, FALSE); ++ g_free (dir); ++ ++ gtk_widget_grab_focus (GTK_FILE_SELECTION (data)->selection_entry); ++} ++ ++static char * ++get_desktop_directory (void) ++{ ++ return g_build_filename (g_get_home_dir (), "Desktop", G_DIR_SEPARATOR_S, NULL); ++} ++ ++ ++static void ++desktop_clicked (GtkWidget *widget, gpointer data) ++{ ++ char *dir; ++ ++ dir = get_desktop_directory (); ++ gtk_file_selection_populate (GTK_FILE_SELECTION (data), ++ dir, FALSE, FALSE); ++ g_free (dir); ++ ++ gtk_widget_grab_focus (GTK_FILE_SELECTION (data)->selection_entry); ++} ++ ++static void ++documents_clicked (GtkWidget *widget, gpointer data) ++{ ++ char *dir; ++ dir = g_strdup_printf ("%s/Documents/", g_get_home_dir ()); ++ ++ gtk_file_selection_populate (GTK_FILE_SELECTION (data), ++ dir, FALSE, FALSE); ++ ++ g_free (dir); ++ ++ gtk_widget_grab_focus (GTK_FILE_SELECTION (data)->selection_entry); ++} ++ + static gint + gtk_file_selection_key_press (GtkWidget *widget, + GdkEventKey *event, +--- gtk+-2.4.0/gtk/stock-icons/ximian-icons.h ++++ gtk+-2.4.0/gtk/stock-icons/ximian-icons.h +@@ -0,0 +1,825 @@ ++/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ ++ ++static const guint8 stock_desktop_48[] = ++{ "" ++ /* Pixbuf magic (0x47646b50) */ ++ "GdkP" ++ /* length: header (24) + pixel_data (6692) */ ++ "\0\0\32<" ++ /* pixdata_type (0x2010002) */ ++ "\2\1\0\2" ++ /* rowstride (276) */ ++ "\0\0\1\24" ++ /* width (69) */ ++ "\0\0\0E" ++ /* height (45) */ ++ "\0\0\0-" ++ /* pixel_data: */ ++ "\377\0\0\0\0\332\0\0\0\0\204\0\0\0\1\252\0\0\0\0\204\0\0\0\1\221\0\0" ++ "\0\0\3\0\0\0\2\0\0\0\5\0\0\0\10\202\0\0\0\11\3\0\0\0\10\0\0\0\5\0\0\0" ++ "\3\245\0\0\0\1\4\0\0\0\2\0\0\0\3\0\0\0\6\0\0\0\10\202\0\0\0\11\3\0\0" ++ "\0\10\0\0\0\5\0\0\0\2\216\0\0\0\0\2\0\0\0\2\0\0\0_\204\0\0\0\377\4\0" ++ "\0\0m\0\0\0\26\0\0\0\17\0\0\0\13\244\0\0\0\12\2\0\0\0\14\0\0\0\202\204" ++ "\0\0\0\377\4\0\0\0l\0\0\0\23\0\0\0\10\0\0\0\2\215\0\0\0\0\3\0\0\0\5\0" ++ "\0\0\377\266\276\312\377\202\245\257\276\377\1s}\214\377\252\0\0\0\377" ++ "\1\266\276\312\377\202\220\234\257\377\5s}\214\377\0\0\0\377\0\0\0)\0" ++ "\0\0\23\0\0\0\5\214\0\0\0\0\11\0\0\0\1\0\0\0\10\0\0\0\377\220\234\257" ++ "\377Ug\204\377DRj\377MNA\377\310\311\274\377\333\334\314\377\231\323" ++ "\324\300\377\4\322\323\300\377\321\323\277\377\321\323\276\377\321\322" ++ "\276\377\203\320\321\275\377\4\317\320\274\377\316\320\274\377\315\320" ++ "\273\377\315\317\272\377\202\315\316\271\377\13\315\315\271\377\314\315" ++ "\271\377qr^\377\245\257\276\377Ug\204\377DRj\377\0\0\0\377\0\0\0<\0\0" ++ "\0\35\0\0\0\10\0\0\0\1\213\0\0\0\0\7\0\0\0\1\0\0\0\11\0\0\0\377\220\234" ++ "\257\377DRj\377abR\377\227\230\177\377\231\274\276\237\377\32\273\275" ++ "\236\377\273\275\235\377\272\274\235\377\271\273\234\377\270\273\233" ++ "\377\270\272\232\377\267\271\231\377\266\270\231\377\265\270\230\377" ++ "\265\267\227\377\264\266\226\377\263\266\225\377\263\265\225\377\262" ++ "\264\224\377\261\264\223\377\260\263\222\377\260\262\221\377\257\262" ++ "\221\377or\\\377\220\234\257\377DRj\377\0\0\0\377\0\0\0E\0\0\0\"\0\0" ++ "\0\12\0\0\0\1\213\0\0\0\0\6\0\0\0\1\0\0\0\12\0\0\0\377s}\214\377abR\377" ++ "\227\230\177\377\231\274\276\237\377\33\273\275\236\377\272\274\235\377" ++ "\271\274\234\377\271\273\233\377\270\272\233\377\267\271\232\377\267" ++ "\271\231\377\266\270\230\377\265\267\227\377\264\267\227\377\264\266" ++ "\226\377\263\265\225\377\262\265\224\377\261\264\223\377\261\263\223" ++ "\377\260\263\222\377\257\262\221\377\257\261\220\377\256\260\217\377" ++ "\255\260\217\377np[\377\220\234\257\377\0\0\0\377\0\0\0F\0\0\0#\0\0\0" ++ "\12\0\0\0\1\213\0\0\0\0\5\0\0\0\1\0\0\0\10\0\0\0m\0\0\0\377\273\274\254" ++ "\377\230\274\276\237\377\35\273\275\236\377\272\275\235\377\272\274\235" ++ "\377\271\273\234\377\270\272\233\377\270\272\232\377\267\271\231\377" ++ "\266\270\231\377\265\270\230\377\265\267\227\377\264\266\226\377\263" ++ "\266\225\377\262\265\225\377\262\264\224\377\261\264\223\377\260\263" ++ "\222\377\260\262\221\377\257\261\221\377\256\261\220\377\255\260\217" ++ "\377\255\257\216\377\254\257\215\377\226\231|\377\0\0\0\377\0\0\0\253" ++ "\0\0\0A\0\0\0\37\0\0\0\11\0\0\0\1\214\0\0\0\0\4\0\0\0\6\0\0\0\26\0\0" ++ "\0\377\323\324\300\377\227\274\276\237\377\36\273\275\236\377\272\274" ++ "\235\377\271\273\234\377\271\273\233\377\270\272\233\377\267\271\232" ++ "\377\266\271\231\377\266\270\230\377\265\267\227\377\264\267\227\377" ++ "\264\266\226\377\263\265\225\377\262\265\224\377\261\264\223\377\261" ++ "\263\223\377\260\262\222\377\257\262\221\377\256\261\220\377\256\260" ++ "\217\377\255\260\217\377\254\257\216\377\254\256\215\377\253\256\214" ++ "\377\226\230z\377\0\0\0\377\0\0\0V\0\0\0""6\0\0\0\27\0\0\0\6\0\0\0\1" ++ "\214\0\0\0\0\4\0\0\0\3\0\0\0\17\0\0\0\377\323\324\300\377\211\274\276" ++ "\237\377\1z{g\377\214\0\0\0\377\36[\\L\377\267\271\232\377\271\273\234" ++ "\377\270\272\233\377\267\272\232\377\267\271\231\377\266\270\230\377" ++ "\265\270\230\377\265\267\227\377\264\266\226\377\263\266\225\377\262" ++ "\265\224\377\262\264\224\377\261\263\223\377\260\263\222\377\257\262" ++ "\221\377\257\261\220\377\256\261\220\377\255\260\217\377\255\257\216" ++ "\377\254\257\215\377\253\256\214\377\252\255\214\377\252\255\213\377" ++ "\225\227y\377\0\0\0\377\0\0\0O\0\0\0,\0\0\0\20\0\0\0\3\215\0\0\0\0\4" ++ "\0\0\0\2\0\0\0\14\0\0\0\377\323\324\300\377\211\274\276\237\377\3\0\0" ++ "\0\377\323\323\323\377\366\366\366\377\210\377\377\377\377\40\371\371" ++ "\371\377\332\332\332\377XXX\377,-%\377\263\265\226\377\266\270\231\377" ++ "\266\271\231\377\266\270\230\377\265\267\227\377\264\267\226\377\263" ++ "\266\226\377\263\265\225\377\262\264\224\377\261\264\223\377\261\263" ++ "\222\377\260\262\222\377\257\262\221\377\256\261\220\377\256\260\217" ++ "\377\255\260\216\377\254\257\216\377\253\256\215\377\253\256\214\377" ++ "\252\255\213\377\251\254\212\377\251\253\212\377\224\226x\377\0\0\0\377" ++ "\0\0\0K\0\0\0&\0\0\0\14\0\0\0\2\215\0\0\0\0\4\0\0\0\1\0\0\0\12\0\0\0" ++ "\377\323\324\300\377\211\274\276\237\377\2\0\0\0\377\366\366\366\377" ++ "\212\377\377\377\377\5\307\307\307\377\321\321\321\377\326\326\326\377" ++ "\0\0\0\377\260\262\223\377\202\264\267\227\377\30\264\266\226\377\263" ++ "\265\225\377\262\265\224\377\262\264\224\377\261\263\223\377\260\263" ++ "\222\377\257\262\221\377\257\261\220\377\256\261\220\377\255\260\217" ++ "\377\254\257\216\377\254\257\215\377\253\256\214\377\252\255\214\377" ++ "\252\254\213\377\251\254\212\377\250\253\211\377\247\252\210\377\223" ++ "\226x\377\0\0\0\377\0\0\0I\0\0\0%\0\0\0\13\0\0\0\2\215\0\0\0\0\4\0\0" ++ "\0\1\0\0\0\12\0\0\0\377\323\324\300\377\211\274\276\237\377\1\0\0\0\377" ++ "\207\377\377\377\377#\376\376\376\377\377\377\377\377\376\376\376\377" ++ "\375\375\375\377\300\300\300\377\341\341\341\377\360\360\360\377\233" ++ "\233\233\377\0\0\0\377\255\257\220\377\262\265\225\377\263\265\225\377" ++ "\262\264\224\377\261\264\223\377\260\263\222\377\260\262\222\377\257" ++ "\262\221\377\256\261\220\377\256\260\217\377\255\260\216\377\254\257" ++ "\216\377\253\256\215\377\253\255\214\377\252\255\213\377\251\254\212" ++ "\377\250\253\212\377\250\253\211\377\247\252\210\377\246\251\207\377" ++ "\222\225v\377\0\0\0\377\0\0\0I\0\0\0%\0\0\0\13\0\0\0\2\215\0\0\0\0\4" ++ "\0\0\0\1\0\0\0\12\0\0\0\377\323\324\300\377\211\274\276\237\377\1\0\0" ++ "\0\377\205\377\377\377\377%\376\376\376\377\375\375\375\377\374\374\373" ++ "\377\375\375\375\377\374\374\373\377\373\373\373\377\257\257\256\377" ++ "\351\351\351\377\377\377\377\377\337\337\337\377\217\217\217\377\0\0" ++ "\0\377\253\256\216\377\260\263\222\377\261\263\223\377\260\263\222\377" ++ "\257\262\221\377\257\261\220\377\256\261\217\377\255\260\217\377\254" ++ "\257\216\377\254\256\215\377\253\256\214\377\252\255\213\377\251\254" ++ "\213\377\251\254\212\377\250\253\211\377\247\252\210\377\247\252\207" ++ "\377\246\251\207\377\245\250\206\377\220\224u\377\0\0\0\377\0\0\0I\0" ++ "\0\0%\0\0\0\13\0\0\0\2\215\0\0\0\0\4\0\0\0\1\0\0\0\12\0\0\0\377\323\324" ++ "\300\377\211\274\276\237\377\1\0\0\0\377\203\377\377\377\377\32\376\376" ++ "\376\377\375\375\375\377\374\374\373\377\373\373\373\377\372\372\371" ++ "\377\373\373\373\377\372\372\371\377\371\371\370\377\244\244\243\377" ++ "\360\360\360\377\377\377\377\377\364\364\364\377\317\317\317\377\242" ++ "\242\242\37744+\377\252\255\215\377\257\261\220\377\257\262\221\377\256" ++ "\261\220\377\255\260\217\377\255\257\216\377\254\257\215\377\253\256" ++ "\215\377\253\255\214\377\252\255\213\377\251\254\212\377\202\250\253" ++ "\211\377\13\247\252\210\377\246\251\207\377\245\251\206\377\245\250\205" ++ "\377\244\247\205\377\220\222t\377\0\0\0\377\0\0\0I\0\0\0%\0\0\0\13\0" ++ "\0\0\2\215\0\0\0\0\4\0\0\0\1\0\0\0\12\0\0\0\377\323\324\300\377\211\274" ++ "\276\237\377\15\0\0\0\377\377\377\377\377\376\376\376\377\375\375\375" ++ "\377\374\374\373\377\373\373\373\377\372\372\371\377\371\371\370\377" ++ "\370\370\367\377\371\371\370\377\370\370\367\377\370\367\366\377\236" ++ "\236\236\377\206\0\0\0\377\30VWG\377\252\255\215\377\256\260\217\377" ++ "\255\260\217\377oq\\\377\15\15\13\3779.'\377\214\214p\377\245\247\207" ++ "\377\251\254\212\377\250\253\211\377\247\252\210\377\246\252\207\377" ++ "\246\251\207\377\245\250\206\377\244\247\205\377\244\247\204\377\243" ++ "\246\203\377\217\221s\377\0\0\0\377\0\0\0I\0\0\0%\0\0\0\13\0\0\0\2\215" ++ "\0\0\0\0\4\0\0\0\1\0\0\0\12\0\0\0\377\323\324\300\377\211\274\276\237" ++ "\377+\0\0\0\377\377\377\377\377\374\374\373\377\373\373\373\377\372\372" ++ "\371\377\371\371\370\377\370\370\367\377\370\367\366\377\367\366\365" ++ "\377\370\367\366\377\367\366\365\377\366\366\364\377\364\363\362\377" ++ "\336\335\334\377\323\322\320\377\267\267\265\377\237\236\235\377poo\377" ++ "ebZ\377\0\0\0\377\242\244\206\377op[\377\24\24\21\377E\77\77\377\347" ++ "\254\243\377\302[K\377,\30\23\377\201\204i\377\250\253\211\377\247\252" ++ "\210\377\246\251\207\377\245\250\206\377\245\250\205\377\244\247\205" ++ "\377\243\246\204\377\242\246\203\377\242\245\202\377\216\220q\377\0\0" ++ "\0\377\0\0\0I\0\0\0%\0\0\0\13\0\0\0\2\215\0\0\0\0\4\0\0\0\1\0\0\0\12" ++ "\0\0\0\377\323\324\300\377\210\274\276\237\377,\273\275\236\377\0\0\0" ++ "\377\377\377\377\377\372\372\371\377\371\371\370\377\370\370\367\377" ++ "\370\367\366\377\367\366\365\377\366\366\364\377\365\364\363\377\366" ++ "\366\364\377\365\364\363\377\364\363\362\377\362\362\360\377\344\344" ++ "\342\377\332\331\327\377\330\330\326\377\315\314\312\377\257\256\254" ++ "\377\210\204{\377\0\0\0\377\21\21\14\377D@5\377\350\332\260\377\240\231" ++ "\223\377\235NB\377n#\26\377\40\17\12\377or[\377\246\251\207\377\246\251" ++ "\206\377\245\250\206\377\244\247\205\377\243\247\204\377\243\246\203" ++ "\377\242\245\202\377\241\245\202\377\241\244\201\377\215\220p\377\0\0" ++ "\0\377\0\0\0I\0\0\0%\0\0\0\13\0\0\0\2\215\0\0\0\0\4\0\0\0\1\0\0\0\12" ++ "\0\0\0\377\323\324\300\377\207\274\276\237\377-\273\275\236\377\272\274" ++ "\235\377\0\0\0\377\377\377\377\377\370\370\367\377\370\367\366\377\367" ++ "\366\365\377\366\366\364\377\365\364\363\377\364\363\362\377\363\363" ++ "\361\377\364\363\362\377\363\363\361\377\362\362\360\377\357\357\355" ++ "\377\356\355\353\377\355\354\352\377\351\350\346\377\325\324\323\377" ++ "\275\274\273\377\21\17\15\377,*#\377\360\337\253\377\320\264f\377\272" ++ "\214,\377x_2\3774\30\23\377\31\26\22\377\202\205j\377\242\245\203\377" ++ "\245\250\206\377\245\250\205\377\244\247\204\377\243\246\204\377\242" ++ "\246\203\377\242\245\202\377\241\244\201\377\240\244\200\377\237\243" ++ "\200\377\214\217p\377\0\0\0\377\0\0\0I\0\0\0%\0\0\0\13\0\0\0\2\215\0" ++ "\0\0\0\4\0\0\0\1\0\0\0\12\0\0\0\377\323\324\300\377\205\274\276\237\377" ++ "\202\273\275\236\377\6\272\274\235\377\271\273\234\377\0\0\0\377\377" ++ "\377\377\377\366\365\364\377\365\365\363\377\202\364\363\362\377%\363" ++ "\363\361\377\362\362\360\377\361\361\357\377\362\362\360\377\361\361" ++ "\357\377\361\360\356\377\356\355\353\377\354\353\351\377\352\351\347" ++ "\377\332\326\315\377\26\25\21\377-,&\377\362\342\262\377\320\264e\377" ++ "\270\211+\377\244q\24\377O4\6\377\33\27\15\377su]\377\234\237\177\377" ++ "\244\247\204\377\243\246\204\377\244\247\205\377\243\247\204\377\243" ++ "\246\203\377\242\245\202\377\241\245\202\377\240\244\201\377\240\243" ++ "\200\377\237\242\177\377\236\242~\377\213\216o\377\0\0\0\377\0\0\0I\0" ++ "\0\0%\0\0\0\13\0\0\0\2\215\0\0\0\0\4\0\0\0\1\0\0\0\12\0\0\0\377\323\324" ++ "\300\377\204\274\276\237\3770\273\275\236\377\272\274\235\377\272\274" ++ "\234\377\271\273\234\377\270\272\233\377\0\0\0\377\377\377\377\377\364" ++ "\363\362\377\363\362\361\377\362\362\360\377\360\360\356\377\357\357" ++ "\355\377\361\360\356\377\360\357\355\377\361\360\356\377\360\357\355" ++ "\377\357\356\354\377\354\353\351\377\305\303\274\377\25\24\16\377-,&" ++ "\377\362\343\263\377\320\265g\377\271\215/\377\247r\26\377Z=\11\377\33" ++ "\25\7\377[]J\377\233\236~\377\242\245\203\377\243\246\204\377\242\246" ++ "\203\377\244\247\204\377\243\246\204\377\242\246\203\377\242\245\202" ++ "\377\241\244\201\377\240\243\200\377\237\243\200\377\237\242\177\377" ++ "\236\241~\377\235\241}\377\211\215m\377\0\0\0\377\0\0\0I\0\0\0%\0\0\0" ++ "\13\0\0\0\2\215\0\0\0\0\4\0\0\0\1\0\0\0\12\0\0\0\377\323\324\300\377" ++ "\202\274\276\237\3772\273\275\236\377\273\275\235\377\272\274\235\377" ++ "\271\273\234\377\270\273\233\377\270\272\232\377\267\271\231\377\0\0" ++ "\0\377\377\377\377\377\364\363\362\377\363\362\361\377\362\362\360\377" ++ "\360\360\356\377\357\357\355\377\361\360\356\377\360\357\355\377\361" ++ "\360\356\377\360\357\355\377\351\350\346\377<8/\377+(\36\377\360\337" ++ "\247\377\320\264h\377\276\2202\377\260|\33\377`A\13\377\30\20\1\377=" ++ ">1\377\225\230z\377\242\245\203\377\243\247\204\377\243\246\203\377\244" ++ "\247\205\377\243\247\204\377\243\246\203\377\242\245\202\377\241\244" ++ "\201\377\240\244\201\377\240\243\200\377\237\242\177\377\236\242~\377" ++ "\235\241}\377\235\240}\377\234\240|\377\210\214l\377\0\0\0\377\0\0\0" ++ "I\0\0\0%\0\0\0\13\0\0\0\2\215\0\0\0\0\20\0\0\0\1\0\0\0\12\0\0\0\377\323" ++ "\324\300\377\274\276\237\377\273\275\236\377\272\274\235\377\271\274" ++ "\234\377\271\273\233\377\270\272\233\377\267\271\232\377\267\271\231" ++ "\377\266\270\230\377\0\0\0\377\377\377\377\377\360\360\356\377\202\357" ++ "\357\355\377\2\357\356\354\377\356\355\353\377\203\355\354\352\377!\347" ++ "\346\344\377NJB\377\256\247\240\377\315\265\221\377\305\236@\377\267" ++ "\202\36\377bD\16\377\36\27\7\377:84\377\0\0\0\377\214\216q\377\244\247" ++ "\205\377\243\246\204\377\242\246\203\377\244\247\204\377\243\246\203" ++ "\377\242\245\203\377\241\245\202\377\241\244\201\377\240\243\200\377" ++ "\237\243\177\377\237\242\177\377\236\241~\377\235\241}\377\234\240|\377" ++ "\234\237{\377\233\237{\377\207\213k\377\0\0\0\377\0\0\0I\0\0\0%\0\0\0" ++ "\13\0\0\0\2\215\0\0\0\0\21\0\0\0\1\0\0\0\12\0\0\0\377\322\323\300\377" ++ "\272\275\235\377\272\274\235\377\271\273\234\377\270\272\233\377\270" ++ "\272\232\377\267\271\231\377\266\270\231\377\265\270\230\377\265\267" ++ "\227\377\0\0\0\377\377\377\377\377\355\355\353\377\355\354\352\377\203" ++ "\354\353\351\377$\353\352\350\377\351\350\345\377\353\352\350\377\37" ++ "\37\37\377&$\40\377\220~i\377\232zU\377{`3\377\26\20\7\377DDC\377\270" ++ "\267\264\377\233\225\212\377\0\0\0\377\216\220s\377\243\246\203\377\244" ++ "\247\205\377\243\246\204\377\242\246\203\377\242\245\202\377\241\244" ++ "\201\377\240\244\201\377\240\243\200\377\237\242\177\377\236\242~\377" ++ "\235\241}\377\235\240}\377\234\240|\377\233\237{\377\232\236z\377\232" ++ "\235y\377\207\212j\377\0\0\0\377\0\0\0I\0\0\0%\0\0\0\13\0\0\0\2\215\0" ++ "\0\0\0\20\0\0\0\1\0\0\0\12\0\0\0\377\321\323\277\377\271\273\234\377" ++ "\271\273\233\377\270\272\233\377\267\271\232\377\266\271\231\377\266" ++ "\270\230\377\265\267\227\377\264\267\227\377\264\266\226\377\0\0\0\377" ++ "\377\377\377\377\353\352\350\377\202\351\350\346\377\1\350\347\345\377" ++ "\202\350\347\344\377\2\347\346\343\377\36\35\35\377\202\24\24\24\377" ++ "\37\26\26\23\377\"!\37\377LLJ\377\261\260\255\377\322\321\315\377\331" ++ "\330\324\377\237\231\216\377\0\0\0\377\217\222t\377\244\247\204\377\243" ++ "\246\203\377\242\245\203\377\241\245\202\377\241\244\201\377\240\243" ++ "\200\377\237\243\177\377\236\242\177\377\236\241~\377\235\241}\377\234" ++ "\240|\377\234\237{\377\233\236{\377\232\236z\377\231\235y\377\231\234" ++ "x\377\206\211i\377\0\0\0\377\0\0\0I\0\0\0%\0\0\0\13\0\0\0\2\215\0\0\0" ++ "\0\20\0\0\0\1\0\0\0\12\0\0\0\377\321\322\276\377\270\272\233\377\267" ++ "\272\232\377\267\271\231\377\266\270\230\377\265\270\230\377\265\267" ++ "\227\377\264\266\226\377\263\266\225\377\262\265\224\377\0\0\0\377\377" ++ "\377\377\377\347\346\343\377\203\346\345\342\377%\345\344\341\377\346" ++ "\344\341\377\345\344\340\377\340\336\333\377\320\317\313\377\302\302" ++ "\276\377\303\303\277\377\320\317\313\377\330\327\323\377\331\330\324" ++ "\377\330\326\322\377\331\327\323\377\237\231\215\377\0\0\0\377\216\221" ++ "s\377\242\246\203\377\242\245\202\377\241\244\201\377\240\244\200\377" ++ "\237\243\200\377\237\242\177\377\236\242~\377\235\241}\377\235\240|\377" ++ "\234\237|\377\233\237{\377\232\236z\377\232\235y\377\231\235x\377\230" ++ "\234x\377\227\233w\377\205\210h\377\0\0\0\377\0\0\0I\0\0\0%\0\0\0\13" ++ "\0\0\0\2\215\0\0\0\0\30\0\0\0\1\0\0\0\12\0\0\0\377\320\321\275\377\267" ++ "\271\232\377\266\271\231\377\266\270\230\377\265\267\227\377\264\267" ++ "\226\377\263\266\226\377\263\265\225\377\262\264\224\377\261\264\223" ++ "\377\0\0\0\377\371\371\371\377\344\343\340\377\343\342\337\377\343\342" ++ "\336\377\344\342\337\377\344\343\337\377\342\341\335\377\343\342\336" ++ "\377\342\341\335\377\340\337\333\377\203\333\332\326\377\35\332\330\324" ++ "\377\334\332\326\377\331\327\323\377\330\326\322\377\236\230\215\377" ++ "\0\0\0\377\215\220q\377\241\245\202\377\241\244\201\377\240\243\200\377" ++ "\237\242\177\377\236\242~\377\236\241~\377\235\240}\377\234\240|\377" ++ "\233\237{\377\233\236z\377\232\236z\377\231\235y\377\231\234x\377\230" ++ "\234w\377\227\233v\377\226\232v\377\204\207g\377\0\0\0\377\0\0\0I\0\0" ++ "\0%\0\0\0\13\0\0\0\2\215\0\0\0\0""8\0\0\0\1\0\0\0\12\0\0\0\377\320\321" ++ "\275\377\266\270\230\377\265\270\230\377\264\267\227\377\264\266\226" ++ "\377\263\265\225\377\262\265\224\377\262\264\224\377\261\263\223\377" ++ "\260\263\222\377\0\0\0\377\355\355\355\377\341\340\335\377\341\337\334" ++ "\377\341\340\334\377\340\337\333\377\342\341\335\377\340\337\333\377" ++ "\341\340\334\377\340\337\333\377\341\340\334\377\337\336\332\377\340" ++ "\336\332\377\335\333\327\377\334\332\326\377\331\327\323\377\330\326" ++ "\321\377\327\325\321\377\235\227\213\377\0\0\0\377\214\217p\377\240\243" ++ "\200\377\237\243\200\377\237\242\177\377\236\241~\377\235\241}\377\234" ++ "\240|\377\234\237|\377\233\237{\377\232\236z\377\232\235y\377\231\235" ++ "x\377\230\234x\377\227\233w\377\227\233v\377\226\232u\377\225\231t\377" ++ "\202\206f\377\0\0\0\377\0\0\0I\0\0\0%\0\0\0\13\0\0\0\2\215\0\0\0\0\30" ++ "\0\0\0\1\0\0\0\12\0\0\0\377\317\320\274\377\265\267\227\377\264\266\226" ++ "\377\263\266\226\377\263\265\225\377\262\264\224\377\261\264\223\377" ++ "\260\263\222\377\260\262\222\377\257\262\221\377\0\0\0\377\321\321\321" ++ "\377\341\337\333\377\340\336\332\377\337\336\332\377\336\335\331\377" ++ "\340\337\333\377\336\335\331\377\340\336\332\377\336\335\331\377\340" ++ "\336\332\377\202\336\334\330\377\202\334\332\326\377\34\330\326\322\377" ++ "\327\326\321\377\325\323\316\377\233\225\212\377\0\0\0\377\213\216o\377" ++ "\237\242\177\377\236\242~\377\236\241~\377\235\240}\377\234\240|\377" ++ "\233\237{\377\233\236z\377\232\236z\377\231\235y\377\230\234x\377\230" ++ "\234w\377\227\233v\377\226\232v\377\226\231u\377\225\231t\377\224\230" ++ "s\377\202\205e\377\0\0\0\377\0\0\0I\0\0\0%\0\0\0\13\0\0\0\2\215\0\0\0" ++ "\0\32\0\0\0\1\0\0\0\12\0\0\0\377\315\320\273\377\264\266\226\377\263" ++ "\265\225\377\262\265\224\377\261\264\223\377\261\263\223\377\260\263" ++ "\222\377\257\262\221\377\257\261\220\377\256\261\217\377\0\0\0\377\231" ++ "\230\221\377\243\236\222\377\244\236\223\377\243\235\222\377\243\235" ++ "\221\377\243\235\222\377\241\234\220\377\242\234\220\377\241\234\220" ++ "\377\242\234\220\377\241\233\217\377\241\233\220\377\202\237\231\215" ++ "\377\202\235\227\214\377\21\233\226\212\377gcY\377\0\0\0\377\213\215" ++ "o\377\236\241~\377\235\241}\377\234\240|\377\234\237{\377\233\237{\377" ++ "\232\236z\377\231\235y\377\231\235x\377\230\234w\377\227\233w\377\227" ++ "\232v\377\226\232u\377\225\231t\377\202\224\230s\377\7\224\227s\377\202" ++ "\205e\377\0\0\0\377\0\0\0I\0\0\0%\0\0\0\13\0\0\0\2\215\0\0\0\0\16\0\0" ++ "\0\2\0\0\0\14\0\0\0\377\315\317\271\377\263\265\225\377\262\264\224\377" ++ "\261\264\223\377\260\263\222\377\260\262\221\377\257\262\221\377\256" ++ "\261\220\377\255\260\217\377\255\257\216\377moY\377\222\0\0\0\377\17" ++ "WZF\377\216\221q\377\235\240}\377\234\240|\377\233\237{\377\233\236z" ++ "\377\232\235y\377\231\235y\377\230\234x\377\230\233w\377\227\233v\377" ++ "\226\232u\377\225\231u\377\225\231t\377\224\230s\377\203\224\227s\377" ++ "\6\202\205e\377\0\0\0\377\0\0\0K\0\0\0&\0\0\0\14\0\0\0\2\215\0\0\0\0" ++ "\34\0\0\0\3\0\0\0\202\0\0\0\377\326\327\306\377\261\264\223\377\261\263" ++ "\223\377\260\263\222\377\257\262\221\377\256\261\220\377\256\260\217" ++ "\377\255\260\217\377\254\257\216\377\254\256\215\377\251\254\212\377" ++ "\240\242\202\377\225\230{\377\224\227y\377\222\225w\377\222\224v\377" ++ "\221\224v\377\221\223v\377\220\222u\377\217\222t\377\217\222s\377\216" ++ "\221r\377\215\220r\377\214\220q\377\214\217p\377\202\213\216o\377\16" ++ "\212\215o\377\212\214n\377\216\221q\377\227\232x\377\234\237{\377\233" ++ "\236{\377\232\236z\377\231\235y\377\231\234x\377\230\234w\377\227\233" ++ "w\377\226\232v\377\226\232u\377\225\231t\377\202\224\230s\377\204\224" ++ "\227s\377\6\202\205e\377\0\0\0\377\0\0\0\243\0\0\0,\0\0\0\20\0\0\0\3" ++ "\215\0\0\0\0\17\0\0\0\6\0\0\0\377v\204\234\377rr^\377\260\263\222\377" ++ "\260\262\221\377\257\261\221\377\256\261\220\377\255\260\217\377\255" ++ "\257\216\377\254\257\215\377\253\256\215\377\252\255\214\377\252\255" ++ "\213\377\251\254\212\377\202\250\253\211\377\33\247\252\210\377\246\251" ++ "\207\377\245\250\206\377\245\250\205\377\244\247\205\377\243\246\204" ++ "\377\242\246\203\377\242\245\202\377\241\244\201\377\240\244\201\377" ++ "\240\243\200\377\237\242\177\377\236\242~\377\235\241}\377\235\240}\377" ++ "\234\237|\377\233\237{\377\232\236z\377\232\235y\377\231\235y\377\230" ++ "\234x\377\230\233w\377\227\233v\377\226\232u\377\225\231u\377\225\231" ++ "t\377\224\230s\377\206\224\227s\377\7z}_\377\222\230\242\377\0\0\0\377" ++ "\0\0\0""6\0\0\0\27\0\0\0\6\0\0\0\1\213\0\0\0\0\15\0\0\0\1\0\0\0\10\0" ++ "\0\0\377Ug\204\377v\204\234\377pr]\377\256\261\220\377\256\260\217\377" ++ "\255\260\216\377\254\257\216\377\253\256\215\377\253\256\214\377\252" ++ "\255\213\377\202\251\254\212\377\34\250\253\211\377\247\252\210\377\246" ++ "\251\207\377\246\251\206\377\245\250\206\377\244\247\205\377\243\247" ++ "\204\377\243\246\203\377\242\245\202\377\241\245\202\377\241\244\201" ++ "\377\240\243\200\377\237\243\177\377\236\242~\377\236\241~\377\235\240" ++ "}\377\234\240|\377\233\237{\377\233\236z\377\232\236z\377\231\235y\377" ++ "\231\234x\377\230\234w\377\227\233v\377\226\232v\377\226\232u\377\225" ++ "\231t\377\224\230s\377\210\224\227s\377\7\266\276\312\377DRj\377\0\0" ++ "\0\377\0\0\0A\0\0\0\37\0\0\0\11\0\0\0\1\213\0\0\0\0\3\0\0\0\1\0\0\0\12" ++ "\0\0\0\377\202Ug\204\377\11v\204\234\377\213\215r\377\217\220u\377\227" ++ "\232|\377\226\231{\377\226\230{\377\226\230z\377\225\227y\377\224\226" ++ "x\377\202\223\226x\377\32\222\225w\377\221\224v\377\221\224u\377\220" ++ "\223t\377\220\222t\377\217\222s\377\217\221r\377\216\220q\377\215\220" ++ "p\377\214\220p\377\214\217p\377\213\216o\377\212\216n\377\212\215m\377" ++ "\211\214m\377\210\214l\377\207\213k\377\207\212j\377\207\212i\377\206" ++ "\211i\377\205\210i\377\205\210h\377\204\207g\377\203\207f\377\203\206" ++ "f\377\202\206e\377\210\202\205e\377\10\245\257\276\377Ug\204\377DRj\377" ++ "\0\0\0\377\0\0\0G\0\0\0#\0\0\0\12\0\0\0\1\213\0\0\0\0\3\0\0\0\1\0\0\0" ++ "\12\0\0\0\377\2036AU\377\1KUd\377\252\0\0\0\377\1\204\214\230\377\202" ++ "6AU\377\6+4D\377\0\0\0\377\0\0\0F\0\0\0#\0\0\0\12\0\0\0\1\213\0\0\0\0" ++ "\3\0\0\0\1\0\0\0\10\0\0\0\211\204\0\0\0\377\4\0\0\0\253\0\0\0V\0\0\0" ++ "O\0\0\0K\244\0\0\0I\2\0\0\0K\0\0\0\243\204\0\0\0\377\5\0\0\0\247\0\0" ++ "\0=\0\0\0\36\0\0\0\10\0\0\0\1\214\0\0\0\0\12\0\0\0\5\0\0\0\23\0\0\0*" ++ "\0\0\0=\0\0\0F\0\0\0G\0\0\0A\0\0\0""6\0\0\0,\0\0\0&\244\0\0\0%\13\0\0" ++ "\0&\0\0\0,\0\0\0""6\0\0\0A\0\0\0G\0\0\0F\0\0\0=\0\0\0*\0\0\0\24\0\0\0" ++ "\5\0\0\0\1\214\0\0\0\0\4\0\0\0\2\0\0\0\11\0\0\0\23\0\0\0\36\202\0\0\0" ++ "#\4\0\0\0\37\0\0\0\27\0\0\0\20\0\0\0\14\244\0\0\0\13\4\0\0\0\14\0\0\0" ++ "\20\0\0\0\27\0\0\0\37\202\0\0\0#\4\0\0\0\36\0\0\0\24\0\0\0\11\0\0\0\2" ++ "\216\0\0\0\0\3\0\0\0\2\0\0\0\5\0\0\0\10\202\0\0\0\12\3\0\0\0\11\0\0\0" ++ "\6\0\0\0\3\246\0\0\0\2\3\0\0\0\3\0\0\0\6\0\0\0\11\202\0\0\0\12\3\0\0" ++ "\0\10\0\0\0\6\0\0\0\2\221\0\0\0\0\205\0\0\0\1\251\0\0\0\0\205\0\0\0\1" ++ "\315\0\0\0\0"}; ++ ++ ++/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ ++ ++static const guint8 stock_home_48[] = ++{ "" ++ /* Pixbuf magic (0x47646b50) */ ++ "GdkP" ++ /* length: header (24) + pixel_data (6699) */ ++ "\0\0\32C" ++ /* pixdata_type (0x2010002) */ ++ "\2\1\0\2" ++ /* rowstride (280) */ ++ "\0\0\1\30" ++ /* width (70) */ ++ "\0\0\0F" ++ /* height (45) */ ++ "\0\0\0-" ++ /* pixel_data: */ ++ "\217\0\0\0\0\17\27\30\24A\40!\35|&&#\377$%!\377\"#\37\377!\"\36\377\37" ++ "\40\34\377\35\36\32\377\34\35\32\377\33\34\30\377\31\32\26\377\30\31" ++ "\25\377\27\30\24\374\27\30\24\255\27\30\24$\267\0\0\0\0\2\27\30\24\341" ++ "\330\331\323\377\212\365\365\360\377\3\361\362\354\377{|u\377\27\30\24" ++ "\227\267\0\0\0\0\3\27\30\24\345\353\353\345\377\361\362\353\377\211\345" ++ "\346\330\377\4\356\357\346\377\347\347\341\377\32\33\27\352\27\30\24" ++ "\4\266\0\0\0\0\3\27\30\24\345\353\353\345\377\354\354\342\377\212\336" ++ "\337\316\377\3\354\355\343\377qql\377\27\30\24N\266\0\0\0\0\3\27\30\24" ++ "\345\353\353\345\377\354\354\342\377\212\336\337\316\377\3\340\341\321" ++ "\377\324\325\317\377/0+\377\230\27\30\24\377\2\27\30\24\376\27\30\24" ++ "k\234\0\0\0\0\3\27\30\24\345\353\353\345\377\354\354\342\377\213\336" ++ "\337\316\377\2\346\347\332\377\364\364\357\377\227\365\365\360\377\4" ++ "\364\364\357\377\325\326\310\377\40!\34\377\27\30\24\25\233\0\0\0\0\3" ++ "\27\30\24\345\353\353\345\377\354\354\342\377\214\336\337\316\377\1\343" ++ "\344\325\377\227\347\350\333\377\4\343\344\325\377\336\337\316\377+," ++ "'\377\27\30\24\32\233\0\0\0\0\3\27\30\24\345\353\353\345\377\354\354" ++ "\342\377\246\336\337\316\377\2+,'\377\27\30\24\32\233\0\0\0\0\6\27\30" ++ "\24\345\353\353\345\377\354\354\342\377\335\336\315\377\331\332\312\377" ++ "\324\325\305\377\212\323\324\305\377\212\323\324\304\377\1\322\323\303" ++ "\377\212\321\322\302\377\2\322\323\303\377\331\332\312\377\202\336\337" ++ "\316\377\2+,'\377\27\30\24\32\233\0\0\0\0\13\27\30\24\345\353\353\345" ++ "\377\354\354\342\377\333\334\313\377\310\311\272\377\233\234\220\377" ++ "\213\214\206\377\214\214\210\377\215\215\210\377\215\216\210\377\216" ++ "\216\211\377\202\216\216\212\377\11\216\216\213\377\216\217\213\377\217" ++ "\220\213\377\220\220\214\377\220\221\214\377\221\221\214\377\221\221" ++ "\215\377\221\222\216\377\222\222\216\377\202\223\223\217\377\202\224" ++ "\224\220\377\2\224\224\221\377\224\225\221\377\202\224\224\221\377\1" ++ "\224\224\220\377\202\223\224\220\377\202\223\223\220\377\10\222\222\217" ++ "\377\221\221\216\377\202\202z\377\303\304\265\377\335\336\315\377\336" ++ "\337\316\377+,'\377\27\30\24\32\233\0\0\0\0\6\27\30\24\345\353\353\345" ++ "\377\354\354\342\377\332\333\312\377\266\267\251\377\234\234\231\377" ++ "\225\377\377\377\377\20\375\375\375\377\373\373\373\377\371\371\371\377" ++ "\367\367\367\377\366\366\366\377\364\364\364\377\362\362\362\377\360" ++ "\360\360\377\356\356\356\377\354\354\354\377\307\307\307\377\233\234" ++ "\221\377\333\334\313\377\336\337\316\377+,'\377\27\30\24\32\233\0\0\0" ++ "\0\6\27\30\24\345\353\353\345\377\354\354\342\377\332\333\312\377\260" ++ "\261\244\377\273\273\272\377\224\377\377\377\377\21\376\376\376\377\374" ++ "\374\374\377\372\372\372\377\370\370\370\377\366\366\366\377\364\364" ++ "\364\377\363\363\363\377\361\361\361\377\357\357\357\377\355\355\355" ++ "\377\353\353\353\377\343\343\343\377\210\210\177\377\333\334\313\377" ++ "\336\337\316\377+,'\377\27\30\24\32\233\0\0\0\0\6\27\30\24\345\353\353" ++ "\345\377\354\354\342\377\332\333\312\377\260\261\244\377\273\273\272" ++ "\377\223\377\377\377\377\22\376\376\376\377\374\374\374\377\372\372\372" ++ "\377\370\370\370\377\366\366\366\377\364\364\364\377\363\363\363\377" ++ "\361\361\361\377\357\357\357\377\355\355\355\377\353\353\353\377\351" ++ "\351\351\377\341\341\341\377\210\210\177\377\333\334\313\377\336\337" ++ "\316\377+,'\377\27\30\24\32\233\0\0\0\0\6\27\30\24\345\353\353\345\377" ++ "\354\354\342\377\332\333\312\377\260\261\244\377\273\273\272\377\222" ++ "\377\377\377\377\23\376\376\376\377\374\374\374\377\372\372\372\377\370" ++ "\370\370\377\367\367\367\377\365\365\365\377\363\363\363\377\361\361" ++ "\361\377\357\357\357\377\355\355\355\377\353\353\353\377\351\351\351" ++ "\377\350\350\350\377\340\340\340\377\210\210\177\377\333\334\313\377" ++ "\336\337\316\377+,'\377\27\30\24\32\233\0\0\0\0\6\27\30\24\345\353\353" ++ "\345\377\354\354\342\377\332\333\312\377\260\261\244\377\273\273\272" ++ "\377\221\377\377\377\377\24\376\376\376\377\374\374\374\377\372\372\372" ++ "\377\370\370\370\377\367\367\367\377\365\365\365\377\363\363\363\377" ++ "\361\361\361\377\357\357\357\377\355\355\355\377\353\353\353\377\351" ++ "\351\351\377\350\350\350\377\346\346\346\377\336\336\336\377\210\210" ++ "\177\377\333\334\313\377\336\337\316\377+,'\377\27\30\24\32\233\0\0\0" ++ "\0\6\27\30\24\345\353\353\345\377\354\354\342\377\332\333\312\377\260" ++ "\261\244\377\273\273\272\377\221\377\377\377\377\24\375\375\375\377\373" ++ "\373\373\377\371\371\371\377\367\367\367\377\365\365\365\377\363\363" ++ "\363\377\362\362\362\377\360\360\360\377\356\356\356\377\354\354\354" ++ "\377\352\352\352\377\350\350\350\377\346\346\346\377\344\344\344\377" ++ "\334\334\334\377\207\207~\377\332\333\312\377\334\335\314\377+,&\377" ++ "\27\30\24\32\226\0\0\0\0\205\0\0\0\1\6\27\30\24\346\353\353\345\377\354" ++ "\354\342\377\332\333\312\377\260\261\244\377\273\273\272\377\220\377" ++ "\377\377\377\26\375\375\375\377\373\373\373\377\371\371\371\377\367\367" ++ "\367\377\365\365\365\377\363\363\363\377\362\362\362\377\360\360\360" ++ "\377\356\356\356\377\354\354\354\377\352\352\352\377\350\350\350\377" ++ "\346\346\346\377\344\344\344\377\342\342\342\377\332\332\332\377\205" ++ "\206~\377\330\331\311\377\333\334\313\377+,&\377\26\27\23\32\0\0\0\1" ++ "\223\0\0\0\0\202\0\0\0\1\2\25\26\22\12\26\27\23\32\203\25\26\23\33\6" ++ "\27\30\24\351\326\326\320\377\327\327\315\377\306\307\270\377\241\242" ++ "\226\377\253\253\251\377\217\350\350\347\377\26\346\346\346\377\344\344" ++ "\344\377\342\342\342\377\341\341\340\377\340\340\337\377\336\336\336" ++ "\377\334\334\334\377\332\332\332\377\330\331\330\377\327\327\326\377" ++ "\325\325\325\377\323\323\323\377\322\322\322\377\320\320\320\377\317" ++ "\317\316\377\315\315\314\377\306\306\305\377zzs\377\304\305\266\377\306" ++ "\307\270\377()$\377\26\27\23""2\203\26\27\23\32\1\0\0\0\1\217\0\0\0\0" ++ "\202\0\0\0\1\2\25\26\22\30\27\30\24\324\227-.(\377\203-.'\377\204,.'" ++ "\377\210,-'\377\204+-&\377\207+,&\377\3$&\40\377\27\30\24\371\26\27\23" ++ "#\215\0\0\0\0\202\0\0\0\1\3\0\0\0\3\26\27\24h]_R\377\221\305\307\264" ++ "\377\10\304\307\264\377\304\306\264\377\303\305\263\377\303\305\262\377" ++ "\302\305\262\377\302\304\262\377\301\304\261\377\300\303\260\377\202" ++ "\300\302\260\377\12\277\302\257\377\276\301\257\377\276\300\256\377\275" ++ "\300\256\377\275\277\256\377\275\277\255\377\274\276\255\377\273\276" ++ "\254\377\273\275\254\377\272\275\253\377\202\271\274\253\377\16\271\273" ++ "\252\377\270\273\251\377\267\272\251\377\267\271\251\377\266\271\250" ++ "\377\266\271\247\377\265\270\247\377\265\267\247\377\264\267\246\377" ++ "\263\266\246\377\217\223|\377()\"\377\27\27\24F\0\0\0\1\213\0\0\0\0\202" ++ "\0\0\0\1\4\0\0\0\3\0\0\0\4\25\26\22""4DF;\377\217\305\307\264\377\10" ++ "\304\307\264\377\304\306\264\377\303\305\263\377\303\305\262\377\302" ++ "\305\262\377\302\304\262\377\301\304\261\377\300\303\260\377\202\300" ++ "\302\260\377\5\277\302\257\377\276\301\257\377\276\300\256\377\275\300" ++ "\256\377\275\277\256\377\202\274\276\255\377\12\273\276\255\377\272\275" ++ "\253\377\272\274\253\377\270\273\252\377\267\272\251\377\267\272\250" ++ "\377\266\271\247\377\266\270\247\377\264\267\246\377\263\266\245\377" ++ "\202\262\265\244\377\12\261\264\242\377\260\263\242\377\257\262\241\377" ++ "\255\260\236\377\223\227\201\377\201\205n\376\31\33\27\377\24\25\22\35" ++ "\0\0\0\2\0\0\0\1\212\0\0\0\0\12\0\0\0\1\0\0\0\3\0\0\0\4\0\0\0\7\7\7\6" ++ "\15\37!\33\366\301\303\257\377\305\307\264\377\304\307\263\377\255\260" ++ "\225\377\202\252\256\222\377\202\252\255\221\377\1\251\255\221\377\202" ++ "\251\255\220\377\202\251\254\220\377*\247\253\217\377\246\252\216\377" ++ "\245\251\215\377\245\251\214\377\244\250\213\377\242\246\212\377\241" ++ "\245\211\377\240\244\207\377\237\243\207\377\235\241\206\377\235\241" ++ "\204\377\234\240\204\377\233\237\203\377\232\236\202\377\230\234\201" ++ "\377\227\233\200\377\227\233\177\377\225\231~\377\224\230~\377\223\227" ++ "|\377\222\226{\377\221\225{\377\220\224z\377\220\224y\377\217\223x\377" ++ "\216\222x\377\215\221w\377\214\220v\377\213\217v\377\212\216u\377\212" ++ "\216t\377\211\215t\377\210\214s\377\207\213r\377\206\212q\377\205\211" ++ "q\377ejY\377\27\30\24\346\0\0\0\6\0\0\0\4\0\0\0\2\0\0\0\1\210\0\0\0\0" ++ "\12\0\0\0\1\0\0\0\2\0\0\0\4\0\0\0\7\0\0\0\11\0\0\0\14\27\27\24\306\251" ++ "\253\230\377\305\307\264\377\303\305\261\377\207\244\250\212\377,\243" ++ "\247\211\377\242\246\210\377\241\245\210\377\241\245\207\377\240\244" ++ "\206\377\237\243\206\377\236\242\205\377\235\241\204\377\234\240\204" ++ "\377\234\240\203\377\233\237\202\377\232\236\202\377\231\235\201\377" ++ "\230\234\200\377\227\233\200\377\227\233\177\377\226\232~\377\225\231" ++ "~\377\224\230}\377\223\227|\377\222\226|\377\222\226{\377\221\225z\377" ++ "\220\224z\377\217\223y\377\216\222x\377\216\222w\377\215\221w\377\214" ++ "\220v\377\213\217u\377\212\216u\377\211\215t\377\211\215s\377\210\214" ++ "s\377\207\213r\377\206\212q\377\205\211q\377\204\210p\377\204\210o\377" ++ "MSH\377\27\30\24\266\0\0\0\11\0\0\0\6\0\0\0\4\202\0\0\0\1\206\0\0\0\0" ++ "\202\0\0\0\1\11\0\0\0\4\0\0\0\6\0\0\0\11\0\0\0\15\0\0\0\21\26\27\23\223" ++ "\207\211x\377\305\307\264\377\304\307\264\377\205\244\250\212\377\10" ++ "\243\247\211\377\242\246\210\377\241\245\210\377\241\245\207\377\240" ++ "\244\206\377\237\243\206\377\236\242\205\377\235\241\204\377\202\234" ++ "\240\203\377\4\233\237\202\377\232\236\201\377\231\235\201\377\230\234" ++ "\200\377\202\227\233\177\377\17\226\232~\377\225\231}\377\224\230|\377" ++ "\223\227|\377\222\226{\377\222\226z\377\221\225z\377\220\224y\377\217" ++ "\223x\377\216\222x\377\216\222w\377\215\221v\377\214\220v\377\213\217" ++ "u\377\212\216t\377\202\211\215s\377\4\210\214r\377\207\213q\377\206\212" ++ "q\377\205\211p\377\202\204\210o\377\11\203\207n\377\200\205l\3778\77" ++ "7\377\26\26\23\210\0\0\0\16\0\0\0\11\0\0\0\5\0\0\0\3\0\0\0\1\206\0\0" ++ "\0\0\11\0\0\0\1\0\0\0\2\0\0\0\4\0\0\0\11\0\0\0\14\0\0\0\21\0\0\0\25\23" ++ "\24\20f`cU\377\202\305\307\264\377\1\246\252\215\377\202\244\250\212" ++ "\3773\243\247\211\377\242\246\211\377\241\245\210\377\241\245\207\377" ++ "\240\244\206\377\237\243\206\377\236\242\205\377\235\241\204\377\234" ++ "\240\204\377\233\237\203\377\233\237\202\377\232\236\202\377\231\235" ++ "\201\377\232\236\202\377\234\240\205\377\232\236\204\377\226\232~\377" ++ "\225\231}\377\224\230}\377\223\227|\377\222\226{\377\221\225{\377\220" ++ "\224z\377\220\224y\377\217\223x\377\216\222x\377\215\221w\377\214\220" ++ "v\377\213\217v\377\212\216u\377\212\216t\377\211\215t\377\210\214s\377" ++ "\207\213r\377\206\212q\377\205\211q\377\205\211p\377\204\210o\377\203" ++ "\207o\377\202\206n\377\201\205m\377\200\204m\377ryf\377(,(\377\23\24" ++ "\20]\0\0\0\22\0\0\0\15\0\0\0\11\0\0\0\4\0\0\0\2\0\0\0\1\205\0\0\0\0A" ++ "\0\0\0\1\0\0\0\4\0\0\0\6\0\0\0\12\0\0\0\21\0\0\0\25\0\0\0\33\14\15\13" ++ "868/\377\304\307\264\377\305\307\264\377\251\254\220\377\243\247\211" ++ "\377\242\246\211\377\241\245\210\377\241\245\207\377\240\244\206\377" ++ "\237\243\206\377\236\242\205\377\235\241\204\377\234\240\204\377\233" ++ "\237\203\377\233\237\202\377\232\236\202\377\231\235\201\377\230\234" ++ "\200\377\227\233\177\377\247\253\224\377\311\313\275\377\301\303\263" ++ "\377\224\230}\377\223\227|\377\222\226|\377\244\247\222\377\223\227}" ++ "\377\220\224y\377\217\223x\377\216\222x\377\215\221w\377\214\220v\377" ++ "\213\217v\377\212\216u\377\212\216t\377\211\215t\377\210\214s\377\207" ++ "\213r\377\206\212q\377\205\211q\377\205\211p\377\204\210o\377\203\207" ++ "o\377\202\206n\377\201\205m\377\200\204m\377\177\203l\377\177\203k\377" ++ "aj]\376\31\33\27\377\14\14\12""3\0\0\0\32\0\0\0\22\0\0\0\13\0\0\0\7\0" ++ "\0\0\4\0\0\0\1\204\0\0\0\0\202\0\0\0\1A\0\0\0\4\0\0\0\10\0\0\0\15\0\0" ++ "\0\22\0\0\0\33\0\0\0\40\0\0\0(\32\32\26\352\274\276\251\377\304\307\264" ++ "\377\251\255\222\377\241\245\210\377\241\245\207\377\240\244\206\377" ++ "\237\243\206\377\236\242\205\377\235\241\204\377\234\240\204\377\233" ++ "\237\203\377\233\237\202\377\232\236\202\377\231\235\201\377\230\234" ++ "\200\377\227\233\177\377\226\232\177\377\226\232~\377\241\245\214\377" ++ "\310\312\274\377\305\307\270\377\230\234\202\377\254\257\234\377\300" ++ "\303\264\377\306\310\272\377\305\307\271\377\262\265\243\377\232\235" ++ "\206\377\214\220v\377\213\217v\377\212\216u\377\212\216t\377\211\215" ++ "t\377\210\214s\377\207\213r\377\206\212q\377\205\211q\377\205\211p\377" ++ "\204\210o\377\203\207o\377\202\206n\377\201\205m\377\200\204m\377\177" ++ "\203l\377\177\203k\377~\202j\377{\200i\377LWO\377\27\30\24\352\0\0\0" ++ "(\0\0\0\37\0\0\0\31\0\0\0\17\0\0\0\11\0\0\0\4\0\0\0\2\0\0\0\1\203\0\0" ++ "\0\0\37\0\0\0\1\0\0\0\2\0\0\0\4\0\0\0\11\0\0\0\17\0\0\0\25\0\0\0\34\0" ++ "\0\0(\0\0\0/\25\26\22\301\234\237\215\377\303\305\262\377\251\255\222" ++ "\377\237\243\206\377\236\242\205\377\235\241\204\377\234\240\204\377" ++ "\234\240\203\377\233\237\202\377\232\236\202\377\231\235\201\377\230" ++ "\234\200\377\227\233\200\377\227\233\177\377\226\232~\377\225\231~\377" ++ "\224\230}\377\223\227|\377\232\236\206\377\307\311\273\377\306\311\273" ++ "\377\202\305\310\272\377\2\305\307\272\377\305\307\271\377\202\304\306" ++ "\271\377\21\303\305\270\377\267\271\252\377\235\241\214\377\212\216u" ++ "\377\210\214s\377\207\213r\377\206\212q\377\205\211q\377\204\210p\377" ++ "\204\210o\377\203\207o\377\202\206n\377\201\205m\377\200\204m\377\177" ++ "\203l\377\177\203k\377~\202k\377\202|\200i\377\13ovd\377BKD\377\25\26" ++ "\22\304\0\0\0""1\0\0\0(\0\0\0\34\0\0\0\24\0\0\0\12\0\0\0\6\0\0\0\3\0" ++ "\0\0\1\203\0\0\0\0\16\0\0\0\1\0\0\0\2\0\0\0\5\0\0\0\11\0\0\0\21\0\0\0" ++ "\30\0\0\0\37\0\0\0,\0\0\0:\22\23\20\232y{l\377\302\304\262\377\252\255" ++ "\224\377\235\241\204\377\202\234\240\203\377\4\233\237\202\377\232\236" ++ "\201\377\231\235\201\377\230\234\200\377\202\227\233\177\377\13\226\232" ++ "~\377\225\231}\377\224\230|\377\223\227|\377\225\231\177\377\253\256" ++ "\231\377\301\303\264\377\306\310\272\377\305\310\272\377\305\307\272" ++ "\377\305\307\271\377\202\304\306\271\377\202\303\305\270\377\203\302" ++ "\304\267\377\3\274\276\257\377\243\246\223\377\212\216v\377\202\204\210" ++ "o\377\7\203\207n\377\202\206m\377\201\205l\377\200\204l\377\177\203k" ++ "\377\177\203j\377~\202j\377\204|\200i\377\13bl^\3776>7\377\22\23\20\242" ++ "\0\0\0;\0\0\0""0\0\0\0\40\0\0\0\30\0\0\0\14\0\0\0\7\0\0\0\3\0\0\0\1\203" ++ "\0\0\0\0\36\0\0\0\1\0\0\0\2\0\0\0\5\0\0\0\12\0\0\0\21\0\0\0\30\0\0\0" ++ "!\0\0\0""1\0\0\0\77\14\15\13{PRG\377\300\303\260\377\252\256\226\377" ++ "\233\237\203\377\233\237\202\377\232\236\202\377\231\235\201\377\230" ++ "\234\200\377\227\233\177\377\226\232\177\377\226\232~\377\225\231}\377" ++ "\224\230}\377\223\227|\377\231\235\204\377\260\263\240\377\304\306\270" ++ "\377\306\310\272\377\305\310\272\377\305\307\272\377\202\304\306\271" ++ "\377\1\303\305\271\377\202\303\305\270\377\4\302\304\270\377\302\304" ++ "\267\377\301\303\267\377\301\303\266\377\202\300\302\266\377\11\276\300" ++ "\263\377\270\272\254\377\241\244\222\377\207\213t\377\200\204m\377\177" ++ "\203l\377\177\203k\377~\202j\377}\201j\377\205|\200i\377\14z\177h\377" ++ "WcZ\377','\377\15\16\14\204\0\0\0K\0\0\0""6\0\0\0#\0\0\0\31\0\0\0\16" ++ "\0\0\0\10\0\0\0\3\0\0\0\1\204\0\0\0\0\33\0\0\0\2\0\0\0\5\0\0\0\12\0\0" ++ "\0\21\0\0\0\31\0\0\0$\0\0\0""1\0\0\0F\3\3\3^()#\376\276\300\256\377\254" ++ "\257\227\377\232\236\202\377\231\235\201\377\230\234\200\377\227\233" ++ "\177\377\226\232\177\377\226\232~\377\225\231}\377\224\230}\377\223\227" ++ "|\377\222\226{\377\221\225{\377\220\224z\377\220\224y\377\217\223x\377" ++ "\274\276\257\377\202\304\306\271\377\1\303\305\271\377\202\303\305\270" ++ "\377\4\302\304\270\377\302\304\267\377\301\303\267\377\301\303\266\377" ++ "\202\300\302\266\377\11\300\302\265\377\277\301\265\377\256\261\241\377" ++ "\201\205m\377\200\204m\377\177\203l\377\177\203k\377~\202j\377}\201j" ++ "\377\207|\200i\377\14ovd\377S`X\377\31\33\27\377\5\5\4s\0\0\0R\0\0\0" ++ ">\0\0\0'\0\0\0\33\0\0\0\17\0\0\0\10\0\0\0\3\0\0\0\1\204\0\0\0\0\34\0" ++ "\0\0\1\0\0\0\4\0\0\0\11\0\0\0\21\0\0\0\30\0\0\0$\0\0\0""3\0\0\0E\0\0" ++ "\0_\25\26\22\345\255\257\235\377\255\260\232\377\230\234\200\377\227" ++ "\233\177\377\226\232\177\377\226\232~\377\225\231}\377\224\230}\377\223" ++ "\227|\377\222\226{\377\221\225{\377\220\224z\377\220\224y\377\217\223" ++ "x\377\216\222x\377\215\221w\377\263\265\244\377\303\305\271\377\202\303" ++ "\305\270\377\4\302\304\270\377\302\304\267\377\301\303\267\377\301\303" ++ "\266\377\202\300\302\266\377\1\300\302\265\377\202\277\301\265\377\6" ++ "\276\300\264\377\245\250\230\377\177\203l\377\177\203k\377~\202j\377" ++ "}\201j\377\211|\200i\377\13bl^\377JVO\377\26\27\23\360\0\0\0d\0\0\0\\" ++ "\0\0\0A\0\0\0)\0\0\0\33\0\0\0\17\0\0\0\10\0\0\0\3\205\0\0\0\0!\0\0\0" ++ "\1\0\0\0\3\0\0\0\10\0\0\0\20\0\0\0\27\0\0\0\"\0\0\0""2\0\0\0D\0\0\0\\" ++ "\22\23\20\304\214\216~\377\256\261\233\377\226\232\177\377\225\231~\377" ++ "\225\231}\377\224\230}\377\223\227|\377\222\226{\377\221\225{\377\220" ++ "\224z\377\220\224y\377\217\223x\377\216\222x\377\215\221w\377\214\220" ++ "v\377\213\217v\377\252\255\232\377\303\305\270\377\302\304\270\377\220" ++ "\224|\377\207\213r\377\206\212r\377\220\224~\377\202\300\302\266\377" ++ "\202\277\301\265\377\202\276\300\264\377\3\276\300\263\377\235\240\216" ++ "\377~\202k\377\213|\200i\377\14z\177h\377WcZ\377BKD\377\23\24\21\327" ++ "\0\0\0i\0\0\0Z\0\0\0A\0\0\0*\0\0\0\33\0\0\0\16\0\0\0\7\0\0\0\2\206\0" ++ "\0\0\0\21\0\0\0\2\0\0\0\6\0\0\0\16\0\0\0\25\0\0\0\37\0\0\0/\0\0\0A\0" ++ "\0\0Z\16\17\14\246ik]\377\257\262\235\377\224\230}\377\224\230|\377\223" ++ "\227{\377\222\226z\377\221\225z\377\220\224y\377\202\217\223x\377\17" ++ "\216\222w\377\215\221v\377\214\220v\377\213\217u\377\212\216t\377\212" ++ "\216s\377\241\244\220\377\302\304\267\377\301\303\266\377\224\227\201" ++ "\377\205\211p\377\205\211o\377\216\221z\377\277\301\265\377\277\301\264" ++ "\377\203\276\300\263\377\202\275\277\262\377\1\223\226\203\377\214|\200" ++ "i\377\14nuc\377VbY\3776>7\377\20\20\15\275\0\0\0r\0\0\0V\0\0\0\77\0\0" ++ "\0&\0\0\0\32\0\0\0\15\0\0\0\6\0\0\0\1\206\0\0\0\0\32\0\0\0\1\0\0\0\5" ++ "\0\0\0\13\0\0\0\23\0\0\0\36\0\0\0,\0\0\0=\0\0\0U\10\10\7\207AB9\377\260" ++ "\263\237\377\222\226{\377\221\225{\377\220\224z\377\220\224y\377\217" ++ "\223y\377\216\222x\377\215\221w\377\214\220v\377\213\217v\377\213\217" ++ "u\377\212\216t\377\211\215t\377\210\214s\377\207\213r\377\227\233\205" ++ "\377\202\300\302\266\377\5\227\232\205\377\203\207o\377\202\206n\377" ++ "\211\215w\377\276\300\264\377\202\275\277\263\377\1\275\277\262\377\203" ++ "\274\276\262\377\1\213\217{\377\214|\200i\377\14bk^\377VbY\377','\377" ++ "\13\13\11\243\0\0\0s\0\0\0S\0\0\0:\0\0\0$\0\0\0\30\0\0\0\13\0\0\0\3\0" ++ "\0\0\1\206\0\0\0\0\"\0\0\0\1\0\0\0\3\0\0\0\10\0\0\0\20\0\0\0\32\0\0\0" ++ "(\0\0\0""9\0\0\0N\1\1\1j\35\36\32\371\255\260\234\377\220\224z\377\217" ++ "\223y\377\217\223x\377\216\222x\377\215\221w\377\214\220v\377\213\217" ++ "u\377\212\216u\377\212\216t\377\211\215s\377\210\214s\377\207\213r\377" ++ "\206\212q\377\205\211q\377\215\220z\377\300\302\265\377\277\301\265\377" ++ "\233\236\212\377\201\205m\377\200\204l\377\207\212u\377\275\277\263\377" ++ "\275\277\262\377\205\274\276\262\377\1\204\207r\377\213|\200i\377\14" ++ "z~h\377WcZ\377S`X\377\31\34\30\377\4\4\4\210\0\0\0p\0\0\0O\0\0\0""5\0" ++ "\0\0\"\0\0\0\25\0\0\0\10\0\0\0\2\210\0\0\0\0\12\0\0\0\2\0\0\0\6\0\0\0" ++ "\16\0\0\0\27\0\0\0#\0\0\0""5\0\0\0H\0\0\0`\24\25\21\335\226\232\207\377" ++ "\202\216\222x\377\4\215\221w\377\214\220v\377\213\217v\377\212\216u\377" ++ "\202\211\215t\377\16\210\214s\377\207\213r\377\206\212q\377\205\211q" ++ "\377\204\210p\377\204\210o\377\203\207p\377\246\251\230\377\246\250\227" ++ "\377\221\225\201\377\177\203l\377\177\203k\377\201\205n\377\235\240\216" ++ "\377\206\234\237\215\377\1}\200j\377\213|\200i\377\14nuc\377VbY\377J" ++ "UN\377\26\27\23\362\0\0\0{\0\0\0e\0\0\0J\0\0\0""1\0\0\0\37\0\0\0\17\0" ++ "\0\0\7\0\0\0\2\210\0\0\0\0\35\0\0\0\1\0\0\0\4\0\0\0\13\0\0\0\22\0\0\0" ++ "\36\0\0\0-\0\0\0\77\0\0\0U\21\22\17\272y{m\377\215\221w\377\214\220v" ++ "\377\213\217v\377\212\216u\377\211\215t\377\211\215s\377\210\214s\377" ++ "\207\213r\377\206\212q\377\205\211q\377\204\210p\377\204\210o\377\203" ++ "\207o\377\202\206n\377\201\205m\377\200\204m\377\177\203l\377\177\203" ++ "k\377~\202k\377\225|\200i\377\14ak^\377VbY\377BKD\377\23\24\21\327\0" ++ "\0\0m\0\0\0Y\0\0\0B\0\0\0*\0\0\0\32\0\0\0\14\0\0\0\5\0\0\0\1\210\0\0" ++ "\0\0\22\0\0\0\1\0\0\0\3\0\0\0\7\0\0\0\20\0\0\0\30\0\0\0%\0\0\0""5\0\0" ++ "\0E\15\16\14\220Y[N\377\213\217v\377\212\216t\377\211\215s\377\210\214" ++ "s\377\210\214r\377\207\213q\377\206\212q\377\205\211p\377\202\204\210" ++ "o\377\7\203\207n\377\202\206m\377\201\205l\377\200\204l\377\177\203k" ++ "\377\177\203j\377~\202j\377\223|\200i\377\17z\177h\377x}g\377v{g\377" ++ "pvd\377VcZ\377VbY\3776>7\377\20\21\16\266\0\0\0]\0\0\0J\0\0\0""2\0\0" ++ "\0!\0\0\0\26\0\0\0\12\0\0\0\3\212\0\0\0\0\30\0\0\0\2\0\0\0\5\0\0\0\14" ++ "\0\0\0\22\0\0\0\35\0\0\0)\0\0\0""6\10\10\7Z13+\377\214\220x\377\210\214" ++ "s\377\207\213r\377\206\212q\377\205\211q\377\204\210p\377\204\210o\377" ++ "\203\207o\377\202\206n\377\201\205m\377\200\204m\377\177\203l\377\177" ++ "\203k\377~\202j\377}\201j\377\204|\200i\377\21z\177h\377x}g\377v{g\377" ++ "sye\377qxe\377ovd\377mtc\377krb\377hqa\377fo`\377dm_\377bk^\377_j]\377" ++ "]h\\\377[f\\\377Yd[\377VcZ\377\206VbY\377\11','\377\15\16\13\207\0\0" ++ "\0F\0\0\0""4\0\0\0%\0\0\0\32\0\0\0\16\0\0\0\7\0\0\0\2\212\0\0\0\0\34" ++ "\0\0\0\1\0\0\0\3\0\0\0\10\0\0\0\17\0\0\0\24\0\0\0\34\0\0\0&\0\0\0""1" ++ "\30\31\25\354hkX\377{\177h\377x|f\377uze\377rwc\377pvb\377lsa\377jq_" ++ "\377gn^\377el]\377bi[\377`hZ\377]eY\377ZdX\377XbW\377VaV\377T`V\377R" ++ "^U\377P]T\377\226P\\T\377\12MXQ\377\30\32\26\377\10\10\7M\0\0\0-\0\0" ++ "\0\"\0\0\0\32\0\0\0\21\0\0\0\12\0\0\0\3\0\0\0\1\213\0\0\0\0\11\0\0\0" ++ "\1\0\0\0\4\0\0\0\10\0\0\0\16\0\0\0\23\0\0\0\30\0\0\0\40\17\17\15N\26" ++ "\27\23\332\240\27\30\24\352\210\27\30\24\351\11\26\27\24\344\21\22\17" ++ "h\0\0\0!\0\0\0\36\0\0\0\30\0\0\0\20\0\0\0\11\0\0\0\5\0\0\0\1\215\0\0" ++ "\0\0\7\0\0\0\1\0\0\0\3\0\0\0\7\0\0\0\12\0\0\0\16\0\0\0\21\0\0\0\24\211" ++ "\0\0\0\25\234\0\0\0\24\202\0\0\0\23\205\0\0\0\22\5\0\0\0\16\0\0\0\14" ++ "\0\0\0\7\0\0\0\5\0\0\0\2\217\0\0\0\0\4\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0" ++ "\5\203\0\0\0\6\252\0\0\0\5\202\0\0\0\4\202\0\0\0\2\1\0\0\0\1\223\0\0" ++ "\0\0\216\0\0\0\1\254\0\0\0\0"}; ++ ++ ++/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ ++ ++static const guint8 stock_documents_48[] = ++{ "" ++ /* Pixbuf magic (0x47646b50) */ ++ "GdkP" ++ /* length: header (24) + pixel_data (3237) */ ++ "\0\0\14\275" ++ /* pixdata_type (0x2010002) */ ++ "\2\1\0\2" ++ /* rowstride (192) */ ++ "\0\0\0\300" ++ /* width (48) */ ++ "\0\0\0""0" ++ /* height (48) */ ++ "\0\0\0""0" ++ /* pixel_data: */ ++ "\377\0\0\0\0\377\0\0\0\0\363\0\0\0\0\1XXX\2\240\0\0\0\0\1\0\0\0Y\213" ++ "\0\0\0\377\7\0\0\0\366\0\0\0\362\16\16\16\377(((\377aaa\333\0\0\0\10" ++ "\0\0\0\1\235\0\0\0\0\3\0\0\0\377\323\323\323\377\366\366\366\377\210" ++ "\377\377\377\377\1\371\371\371\377\202\371\371\370\377\6\347\347\347" ++ "\377\344\344\344\377\315\315\315\377\37\37\37\344\0\0\0\24\0\0\0\2\234" ++ "\0\0\0\0\2\0\0\0\377\366\366\366\377\212\377\377\377\377\11\371\371\370" ++ "\377\357\357\356\377\257\257\256\377\351\351\351\377\377\377\377\377" ++ "\263\263\263\377888\375\0\0\0\16\0\0\0\2\233\0\0\0\0\1\0\0\0\377\202" ++ "\377\377\377\377\205yyy\377\2xxx\377yyy\377\202xxx\377\12\371\371\370" ++ "\377\356\356\356\377\244\244\243\377\360\360\360\377\377\377\377\377" ++ "\364\364\364\377\253\253\253\377\5\5\5\231\0\0\0\13\0\0\0\1\232\0\0\0" ++ "\0\1\0\0\0\377\205\377\377\377\377\11\376\376\376\377\375\375\375\377" ++ "\374\374\373\377\375\375\375\377\374\374\373\377\373\373\373\377\371" ++ "\371\370\377\362\362\362\377\236\236\236\377\204\0\0\0\377\3\0\0\0\330" ++ "\0\0\0\33\0\0\0\5\225\0\0\0\0\1\0\0\0Y\205\0\0\0\377\202\377\377\377" ++ "\377\1yyy\377\202xxx\377\202www\377\16vvv\377www\377vvv\377vvu\377\371" ++ "\371\370\377\364\364\364\377\324\324\323\377\271\267\266\377\203\203" ++ "\201\377\204\203\201\377jgc\377\0\0\0\343\0\0\0&\0\0\0\7\225\0\0\0\0" ++ "\3\0\0\0\377\323\323\323\377\366\366\366\377\202\377\377\377\377\26\0" ++ "\0\0\377\377\377\377\377\376\376\376\377\375\375\375\377\374\374\373" ++ "\377\373\373\373\377\372\372\371\377\371\371\370\377\370\370\367\377" ++ "\371\371\370\377\370\370\367\377\370\367\366\377\371\371\370\377\363" ++ "\362\361\377\340\340\337\377\334\332\330\377\312\312\310\377\266\266" ++ "\264\377rpl\377\0\0\0\356\0\0\0)\0\0\0\10\225\0\0\0\0\2\0\0\0\377\366" ++ "\366\366\377\203\377\377\377\377\16\0\0\0\377\377\377\377\377\374\374" ++ "\373\377www\377vvv\377vvu\377uuu\377uut\377utt\377uut\377utt\377tts\377" ++ "\364\363\362\377\361\360\357\377\202\360\357\355\377\6\345\344\342\377" ++ "\304\303\300\377\201}t\377\0\0\0\377\0\0\0,\0\0\0\11\225\0\0\0\0\1\0" ++ "\0\0\377\202\377\377\377\377\202yyy\377\13\0\0\0\377\377\377\377\377" ++ "\372\372\371\377\371\371\370\377\370\370\367\377\370\367\366\377\367" ++ "\366\365\377\366\366\364\377\365\364\363\377\366\366\364\377\365\364" ++ "\363\377\204\364\363\362\377\1\353\352\350\377\202\341\337\334\377\4" ++ "\213\206}\377\0\0\0\377\0\0\0.\0\0\0\11\220\0\0\0\0\1\0\0\0Y\205\0\0" ++ "\0\377\204\377\377\377\377\7\0\0\0\377\377\377\377\377\370\370\367\377" ++ "uut\377utt\377tts\377tss\377\204ssr\377\2rrq\377qqp\377\202ppo\377\7" ++ "llk\377jih\377\341\337\334\377\244\236\223\377\0\0\0\377\0\0\0/\0\0\0" ++ "\11\220\0\0\0\0\3\0\0\0\377\323\323\323\377\366\366\366\377\202\377\377" ++ "\377\377\1\0\0\0\377\202\377\377\377\377\6yyy\377xxx\377\0\0\0\377\377" ++ "\377\377\377\366\365\364\377\365\365\363\377\202\364\363\362\377\20\363" ++ "\363\361\377\362\362\360\377\361\361\357\377\362\362\360\377\361\361" ++ "\357\377\361\360\356\377\356\355\353\377\354\353\351\377\347\346\343" ++ "\377\342\341\337\377\344\343\340\377\341\337\334\377\244\236\223\377" ++ "\0\0\0\377\0\0\0/\0\0\0\11\220\0\0\0\0\2\0\0\0\377\366\366\366\377\203" ++ "\377\377\377\377\12\0\0\0\377\377\377\377\377\376\376\376\377\375\375" ++ "\375\377\374\374\373\377\0\0\0\377\377\377\377\377\364\363\362\377sr" ++ "r\377rrq\377\202qqp\377\17rqp\377qqp\377rqp\377qqp\377qpo\377oon\377" ++ "nml\377llj\377lkj\377kji\377\341\337\334\377\244\236\223\377\0\0\0\377" ++ "\0\0\0/\0\0\0\11\220\0\0\0\0\1\0\0\0\377\202\377\377\377\377\202yyy\377" ++ "\33\0\0\0\377\377\377\377\377\374\374\373\377www\377vvv\377\0\0\0\377" ++ "\377\377\377\377\364\363\362\377\363\362\361\377\362\362\360\377\360" ++ "\360\356\377\357\357\355\377\361\360\356\377\360\357\355\377\361\360" ++ "\356\377\360\357\355\377\357\356\354\377\354\353\351\377\350\347\345" ++ "\377\345\344\341\377\344\343\340\377\342\341\336\377\341\337\334\377" ++ "\244\236\223\377\0\0\0\377\0\0\0/\0\0\0\11\220\0\0\0\0\1\0\0\0\377\204" ++ "\377\377\377\377\10\0\0\0\377\377\377\377\377\372\372\371\377\371\371" ++ "\370\377\370\370\367\377\0\0\0\377\377\377\377\377\360\360\356\377\202" ++ "\230\250\265\377\4\230\250\264\377\230\247\264\377\227\247\263\377\355" ++ "\354\352\377\202poo\377\13oon\377nml\377mmk\377kki\377kjh\377jjh\377" ++ "\340\337\333\377\241\234\220\377\0\0\0\377\0\0\0/\0\0\0\11\220\0\0\0" ++ "\0\1\0\0\0\377\202\377\377\377\377\21yyy\377xxx\377\0\0\0\377\377\377" ++ "\377\377\370\370\367\377uut\377utt\377\0\0\0\377\377\377\377\377\355" ++ "\355\353\377\227\247\263\377\276\274\307\377\355\337\261\377\227\246" ++ "\263\377\226\246\262\377\351\350\345\377\353\352\350\377\202\351\350" ++ "\345\377\12\345\344\341\377\346\344\341\377\343\342\336\377\337\336\332" ++ "\377\336\335\331\377\335\334\330\377\241\233\220\377\0\0\0\377\0\0\0" ++ "/\0\0\0\11\220\0\0\0\0\17\0\0\0\377\377\377\377\377\376\376\376\377\375" ++ "\375\375\377\374\374\373\377\0\0\0\377\377\377\377\377\366\365\364\377" ++ "\365\365\363\377\364\363\362\377\0\0\0\377\377\377\377\377\353\352\350" ++ "\377\225\245\261\377\274\272\305\377\202\353\336\257\377\17\225\244\261" ++ "\377\347\346\343\377nml\377mmk\377mlk\377lki\377kki\377jig\377ihf\377" ++ "hhf\377\334\333\327\377\241\233\220\377\0\0\0\377\0\0\0/\0\0\0\11\220" ++ "\0\0\0\0\40\0\0\0\377\377\377\377\377\374\374\373\377www\377vvv\377\0" ++ "\0\0\377\377\377\377\377\364\363\362\377srr\377rrq\377\0\0\0\377\377" ++ "\377\377\377\347\346\343\377\224\243\260\377\273\271\304\377\352\335" ++ "\256\377\351\334\256\377\224\243\257\377\345\344\340\377\346\344\341" ++ "\377\345\344\340\377\344\343\337\377\342\341\335\377\340\337\333\377" ++ "\336\335\331\377\334\333\327\377\333\331\325\377\331\327\323\377\237" ++ "\231\215\377\0\0\0\377\0\0\0/\0\0\0\11\220\0\0\0\0\16\0\0\0\377\377\377" ++ "\377\377\372\372\371\377\371\371\370\377\370\370\367\377\0\0\0\377\377" ++ "\377\377\377\364\363\362\377\363\362\361\377\362\362\360\377\0\0\0\377" ++ "\371\371\371\377\344\343\340\377\223\242\256\377\202\272\267\302\377" ++ "\5\272\270\302\377\222\241\255\377\343\342\336\377kjh\377kki\377\202" ++ "jjh\377\11ihf\377hgf\377hge\377ffd\377\330\326\322\377\236\230\215\377" ++ "\0\0\0\377\0\0\0/\0\0\0\11\220\0\0\0\0\10\0\0\0\377\377\377\377\377\370" ++ "\370\367\377uut\377utt\377\0\0\0\377\377\377\377\377\360\360\356\377" ++ "\202qqp\377\26\0\0\0\377\355\355\355\377\341\340\335\377\341\337\334" ++ "\377\341\340\334\377\340\337\333\377\342\341\335\377\340\337\333\377" ++ "\341\340\334\377\340\337\333\377\341\340\334\377\337\336\332\377\340" ++ "\336\332\377\335\333\327\377\334\332\326\377\331\327\323\377\330\326" ++ "\321\377\327\325\321\377\235\227\213\377\0\0\0\377\0\0\0/\0\0\0\11\220" ++ "\0\0\0\0\25\0\0\0\377\377\377\377\377\366\365\364\377\365\365\363\377" ++ "\364\363\362\377\0\0\0\377\377\377\377\377\355\355\353\377\355\354\352" ++ "\377\354\353\351\377\0\0\0\377\321\321\321\377\341\337\333\377\340\336" ++ "\332\377\337\336\332\377\336\335\331\377\340\337\333\377\336\335\331" ++ "\377\340\336\332\377\336\335\331\377\340\336\332\377\202\336\334\330" ++ "\377\202\334\332\326\377\7\330\326\322\377\327\326\321\377\325\323\316" ++ "\377\233\225\212\377\0\0\0\377\0\0\0/\0\0\0\11\220\0\0\0\0\10\0\0\0\377" ++ "\377\377\377\377\364\363\362\377srr\377rrq\377\0\0\0\377\377\377\377" ++ "\377\353\352\350\377\202nnm\377\15\0\0\0\377\231\230\221\377\243\236" ++ "\222\377\244\236\223\377\243\235\222\377\243\235\221\377\243\235\222" ++ "\377\241\234\220\377\242\234\220\377\241\234\220\377\242\234\220\377" ++ "\241\233\217\377\241\233\220\377\202\237\231\215\377\202\235\227\214" ++ "\377\5\233\226\212\377gcY\377\0\0\0\377\0\0\0.\0\0\0\11\220\0\0\0\0\10" ++ "\0\0\0\377\377\377\377\377\364\363\362\377\363\362\361\377\362\362\360" ++ "\377\0\0\0\377\377\377\377\377\347\346\343\377\202\346\345\342\377\1" ++ "\221\220\216\377\222\0\0\0\377\3\0\0\0}\0\0\0*\0\0\0\10\220\0\0\0\0\3" ++ "\0\0\0\377\377\377\377\377\360\360\356\377\202\357\357\355\377\3\0\0" ++ "\0\377\371\371\371\377\344\343\340\377\202kki\377\6jig\377ba_\377YXV" ++ "\377WWU\377WVT\377WWU\377\202VVT\377\11\265\264\261\377\264\262\257\377" ++ "\263\261\256\377\261\257\254\377\260\256\253\377\200{s\377\0\0\0\377" ++ "\0\0\0U\0\0\0""6\202\0\0\0/\3\0\0\0*\0\0\0\27\0\0\0\4\220\0\0\0\0\33" ++ "\0\0\0\377\377\377\377\377\355\355\353\377poo\377oon\377\0\0\0\377\355" ++ "\355\355\377\341\340\335\377\341\337\334\377\341\340\334\377\340\337" ++ "\333\377\336\335\331\377\330\330\324\377\331\330\324\377\330\327\323" ++ "\377\331\330\324\377\327\326\322\377\330\326\322\377\325\323\317\377" ++ "\324\322\316\377\321\317\313\377\320\316\311\377\317\315\311\377\227" ++ "\221\206\377\0\0\0\377\0\0\0""6\0\0\0\22\202\0\0\0\11\2\0\0\0\10\0\0" ++ "\0\4\221\0\0\0\0\3\0\0\0\377\377\377\377\377\353\352\350\377\202\351" ++ "\350\346\377\13\0\0\0\377\321\321\321\377\341\337\333\377\340\336\332" ++ "\377\337\336\332\377\336\335\331\377\340\337\333\377\336\335\331\377" ++ "\340\336\332\377\336\335\331\377\340\336\332\377\202\336\334\330\377" ++ "\202\334\332\326\377\7\330\326\322\377\327\326\321\377\325\323\316\377" ++ "\233\225\212\377\0\0\0\377\0\0\0/\0\0\0\11\225\0\0\0\0\3\0\0\0\377\377" ++ "\377\377\377\347\346\343\377\202mlk\377\15\0\0\0\377\231\230\221\377" ++ "\243\236\222\377\244\236\223\377\243\235\222\377\243\235\221\377\243" ++ "\235\222\377\241\234\220\377\242\234\220\377\241\234\220\377\242\234" ++ "\220\377\241\233\217\377\241\233\220\377\202\237\231\215\377\202\235" ++ "\227\214\377\5\233\226\212\377gcY\377\0\0\0\377\0\0\0.\0\0\0\11\225\0" ++ "\0\0\0\6\0\0\0\377\371\371\371\377\344\343\340\377\343\342\337\377\343" ++ "\342\336\377\217\216\214\377\222\0\0\0\377\3\0\0\0}\0\0\0*\0\0\0\10\225" ++ "\0\0\0\0\26\0\0\0\377\355\355\355\377\341\340\335\377\341\337\334\377" ++ "\341\340\334\377\334\333\327\377\315\314\311\377\273\272\266\377\267" ++ "\266\263\377\266\265\262\377\267\266\263\377\265\265\261\377\266\265" ++ "\261\377\264\262\257\377\263\261\256\377\261\257\254\377\260\256\252" ++ "\377\257\255\252\377\200{q\377\0\0\0\377\0\0\0U\0\0\0""6\202\0\0\0/\3" ++ "\0\0\0*\0\0\0\27\0\0\0\4\225\0\0\0\0\13\0\0\0\377\321\321\321\377\341" ++ "\337\333\377\340\336\332\377\337\336\332\377\336\335\331\377\334\333" ++ "\327\377\327\326\322\377\330\326\322\377\326\325\321\377\330\326\322" ++ "\377\202\326\324\320\377\202\324\322\316\377\7\320\316\312\377\317\316" ++ "\311\377\315\313\306\377\225\217\205\377\0\0\0\377\0\0\0""6\0\0\0\22" ++ "\202\0\0\0\11\2\0\0\0\10\0\0\0\4\226\0\0\0\0\15\0\0\0\377\231\230\221" ++ "\377\243\236\222\377\244\236\223\377\243\235\222\377\243\235\221\377" ++ "\243\235\222\377\241\234\220\377\242\234\220\377\241\234\220\377\242" ++ "\234\220\377\241\233\217\377\241\233\220\377\202\237\231\215\377\202" ++ "\235\227\214\377\5\233\226\212\377gcY\377\0\0\0\377\0\0\0.\0\0\0\11\232" ++ "\0\0\0\0\1\0\0\0^\222\0\0\0\377\3\0\0\0}\0\0\0*\0\0\0\10\232\0\0\0\0" ++ "\3\0\0\0\4\0\0\0\27\0\0\0*\220\0\0\0/\3\0\0\0*\0\0\0\27\0\0\0\4\233\0" ++ "\0\0\0\2\0\0\0\4\0\0\0\10\220\0\0\0\11\2\0\0\0\10\0\0\0\4\377\0\0\0\0" ++ "\377\0\0\0\0\345\0\0\0\0"}; ++ ++ diff --git a/gtk2-gtkicontheme-autoupdate.patch b/gtk2-gtkicontheme-autoupdate.patch new file mode 100644 index 0000000..e34ed6e --- /dev/null +++ b/gtk2-gtkicontheme-autoupdate.patch @@ -0,0 +1,64 @@ +? gtk2-gtkicontheme-autoupdate.patch +================================================================================ +--- gtk/gtkicontheme.c ++++ gtk/gtkicontheme.c +@@ -230,6 +230,9 @@ + + static GHashTable *icon_theme_builtin_icons; + ++static int update_themes_callback_id; ++static GSList *update_themes_list; ++ + /* also used in gtkiconfactory.c */ + GtkIconCache *_builtin_cache = NULL; + static GList *builtin_dirs = NULL; +@@ -255,6 +258,23 @@ + return g_object_new (GTK_TYPE_ICON_THEME, NULL); + } + ++static gboolean ++update_themes_callback (gpointer user_data) ++{ ++ GSList *iterator; ++ for (iterator = update_themes_list; iterator; iterator = iterator->next) ++ { ++ GtkIconTheme *icon_theme = iterator->data; ++ GtkIconThemePrivate *priv = icon_theme->priv; ++ ++ if (priv->themes_valid) ++ { ++ gtk_icon_theme_rescan_if_needed (icon_theme); ++ } ++ } ++ return TRUE; ++} ++ + /** + * gtk_icon_theme_get_default: + * +@@ -569,6 +589,11 @@ + priv->unthemed_icons = NULL; + + priv->pixbuf_supports_svg = pixbuf_supports_svg (); ++ ++ update_themes_list = g_slist_prepend (update_themes_list, icon_theme); ++ if (update_themes_callback_id == 0) { ++ update_themes_callback_id = g_timeout_add (30 * 1000, update_themes_callback, NULL); ++ } + } + + static void +@@ -652,6 +677,13 @@ + icon_theme = GTK_ICON_THEME (object); + priv = icon_theme->priv; + ++ update_themes_list = g_slist_remove (update_themes_list, icon_theme); ++ if (update_themes_list == NULL) ++ { ++ g_source_remove (update_themes_callback_id); ++ update_themes_callback_id = 0; ++ } ++ + if (priv->reset_styles_idle) + { + g_source_remove (priv->reset_styles_idle); diff --git a/gtk2-makefile-typo.patch b/gtk2-makefile-typo.patch new file mode 100644 index 0000000..2aea973 --- /dev/null +++ b/gtk2-makefile-typo.patch @@ -0,0 +1,11 @@ +--- gtk/Makefile.am ++++ gtk/Makefile.am +@@ -1104,7 +1104,7 @@ + && $(LN_S) gtk-goto-first-ltr.png gtk-goto-last-rtl.png \ + && $(RM) gtk-media-forward-rtl.png \ + && $(LN_S) gtk-media-rewind-ltr.png gtk-media-forward-rtl.png \ +- && $(RM) gtk-mdedia-next-rtl.png \ ++ && $(RM) gtk-media-next-rtl.png \ + && $(LN_S) gtk-media-previous-ltr.png gtk-media-next-rtl.png \ + && $(RM) gtk-media-previous-rtl.png \ + && $(LN_S) gtk-media-next-ltr.png gtk-media-previous-rtl.png \ diff --git a/gtk2-po.patch b/gtk2-po.patch new file mode 100644 index 0000000..5ce2334 --- /dev/null +++ b/gtk2-po.patch @@ -0,0 +1,22 @@ +--- gtk+-2.10.5/po/hy.po ++++ gtk+-2.10.5/po/hy.po +@@ -158,7 +158,7 @@ + msgid "failed to allocate image buffer of %u byte" + msgid_plural "failed to allocate image buffer of %u bytes" + msgstr[0] "Չհաջողվեց հատկացնել պատկերի %u բայթանոց բուֆեր" +-msgstr[1] "" ++msgstr[1] "Չհաջողվեց հատկացնել պատկերի %u բայթանոց բուֆեր" + + #: gdk-pixbuf/io-ani.c:244 + #, fuzzy, c-format +--- gtk+-2.10.5/po/ka.po ++++ gtk+-2.10.5/po/ka.po +@@ -17,7 +17,7 @@ + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Plural-Forms: nplurals=1; plural=0\n" ++"Plural-Forms: nplurals=2; plural=0\n" + "X-Poedit-SourceCharset: utf-8\n" + "X-Generator: KBabel 1.11.4\n" + diff --git a/gtk2-remove-empty-cache.patch b/gtk2-remove-empty-cache.patch new file mode 100644 index 0000000..1490ad3 --- /dev/null +++ b/gtk2-remove-empty-cache.patch @@ -0,0 +1,85 @@ +Index: gtk/updateiconcache.c +================================================================================ +--- gtk/updateiconcache.c ++++ gtk/updateiconcache.c +@@ -44,6 +44,7 @@ + static gboolean quiet = FALSE; + static gboolean index_only = FALSE; + static gchar *var_name = "-"; ++static gboolean remove_empty_cache = FALSE; + + #define CACHE_NAME "icon-theme.cache" + +@@ -1168,12 +1169,17 @@ + + directories = scan_directory (path, NULL, files, NULL, 0); + ++ cache_path = g_build_filename (path, CACHE_NAME, NULL); ++ + if (g_hash_table_size (files) == 0) + { + /* Empty table, just close and remove the file */ + + fclose (cache); + g_unlink (tmp_cache_path); ++ if (remove_empty_cache) ++ g_unlink (cache_path); ++ g_free (cache_path); + exit (0); + } + +@@ -1187,10 +1193,10 @@ + if (!retval) + { + g_unlink (tmp_cache_path); ++ g_free (cache_path); + exit (1); + } + +- cache_path = g_build_filename (path, CACHE_NAME, NULL); + + #ifdef G_OS_WIN32 + if (g_file_test (cache_path, G_FILE_TEST_EXISTS)) +@@ -1204,6 +1210,7 @@ + g_strerror (errno), + cache_path); + g_unlink (cache_path); ++ g_free (cache_path); + bak_cache_path = NULL; + } + } +@@ -1215,6 +1222,7 @@ + tmp_cache_path, cache_path, + g_strerror (errno)); + g_unlink (tmp_cache_path); ++ g_free (cache_path); + #ifdef G_OS_WIN32 + if (bak_cache_path != NULL) + if (g_rename (bak_cache_path, cache_path) == -1) +@@ -1233,12 +1241,17 @@ + /* FIXME: What do do if an error occurs here? */ + if (g_stat (path, &path_stat) < 0 || + g_stat (cache_path, &cache_stat)) +- exit (1); ++ { ++ g_free (cache_path); ++ exit (1); ++ } + + utime_buf.actime = path_stat.st_atime; + utime_buf.modtime = cache_stat.st_mtime; + utime (path, &utime_buf); + ++ g_free (cache_path); ++ + if (!quiet) + g_printerr (_("Cache file created successfully.\n")); + } +@@ -1282,6 +1295,7 @@ + { "force", 'f', 0, G_OPTION_ARG_NONE, &force_update, N_("Overwrite an existing cache, even if uptodate"), NULL }, + { "ignore-theme-index", 't', 0, G_OPTION_ARG_NONE, &ignore_theme_index, N_("Don't check for the existence of index.theme"), NULL }, + { "index-only", 'i', 0, G_OPTION_ARG_NONE, &index_only, N_("Don't include image data in the cache"), NULL }, ++ { "remove-empty-cache", 'r', 0, G_OPTION_ARG_NONE, &remove_empty_cache, "Remove the cache file if there is nothing to cache", NULL }, + { "source", 'c', 0, G_OPTION_ARG_STRING, &var_name, N_("Output a C header file"), "NAME" }, + { "quiet", 'q', 0, G_OPTION_ARG_NONE, &quiet, N_("Turn off verbose output"), NULL }, + { NULL } diff --git a/gtk2-set-invisible-char-to-circle.patch b/gtk2-set-invisible-char-to-circle.patch new file mode 100644 index 0000000..12d3216 --- /dev/null +++ b/gtk2-set-invisible-char-to-circle.patch @@ -0,0 +1,33 @@ +--- gtk+-2.10.1/gtk/gtkentry.c ++++ gtk+-2.10.1/gtk/gtkentry.c +@@ -524,7 +524,7 @@ + g_param_spec_unichar ("invisible-char", + P_("Invisible character"), + P_("The character to use when masking entry contents (in \"password mode\")"), +- '*', ++ (gunichar) 0x25CF, + GTK_PARAM_READWRITE)); + + g_object_class_install_property (gobject_class, +@@ -1062,7 +1062,7 @@ + + entry->editable = TRUE; + entry->visible = TRUE; +- entry->invisible_char = '*'; ++ entry->invisible_char = (gunichar) 0x25CF; + entry->dnd_position = -1; + entry->width_chars = -1; + entry->is_cell_renderer = FALSE; +@@ -4231,9 +4231,9 @@ + * gtk_entry_set_visibility() has been called to set text visibility + * to %FALSE. i.e. this is the character used in "password mode" to + * show the user how many characters have been typed. The default +- * invisible char is an asterisk ('*'). If you set the invisible char +- * to 0, then the user will get no feedback at all; there will be +- * no text on the screen as they type. ++ * invisible char is a bullet (Unicode character 25CF; see also 2022). If ++ * you set the invisible char to 0, then the user will get no feedback at ++ * all; there will be no text on the screen as they type. + * + **/ + void diff --git a/gtk2-uninitialized.patch b/gtk2-uninitialized.patch new file mode 100644 index 0000000..6ae4184 --- /dev/null +++ b/gtk2-uninitialized.patch @@ -0,0 +1,49 @@ +--- gtk/gtkcolorsel.c ++++ gtk/gtkcolorsel.c +@@ -795,6 +795,7 @@ + gdk_color.red = UNSCALE (color[0]); + gdk_color.green = UNSCALE (color[1]); + gdk_color.blue = UNSCALE (color[2]); ++ gdk_color.pixel = 0; /* Quiet GCC */ + + x = 0; + y = 0; /* Quiet GCC */ +--- tests/testgtk.c ++++ tests/testgtk.c +@@ -6548,9 +6548,12 @@ + col1.red = 0; + col1.green = 56000; + col1.blue = 0; ++ col1.pixel = 0; /* Quiet GCC */ ++ + col2.red = 32000; + col2.green = 0; + col2.blue = 56000; ++ col2.pixel = 0; /* Quiet GCC */ + + style1 = gtk_style_copy (GTK_WIDGET (data)->style); + style1->base[GTK_STATE_NORMAL] = col1; +@@ -6803,9 +6806,11 @@ + col1.red = 56000; + col1.green = 0; + col1.blue = 0; ++ col1.pixel = 0; /* Quiet GCC */ + col2.red = 0; + col2.green = 56000; + col2.blue = 32000; ++ col2.pixel = 0; /* Quiet GCC */ + + style = gtk_style_new (); + style->fg[GTK_STATE_NORMAL] = col1; +@@ -7002,9 +7007,11 @@ + col1.red = 0; + col1.green = 56000; + col1.blue = 0; ++ col1.pixel = 0; /* Quiet GCC */ + col2.red = 32000; + col2.green = 0; + col2.blue = 56000; ++ col2.pixel = 0; /* Quiet GCC */ + + style1 = gtk_style_new (); + style1->base[GTK_STATE_NORMAL] = col1; diff --git a/gtk2.changes b/gtk2.changes new file mode 100644 index 0000000..41dd866 --- /dev/null +++ b/gtk2.changes @@ -0,0 +1,1033 @@ +------------------------------------------------------------------- +Fri Jan 5 15:12:28 CET 2007 - sbrabec@suse.cz + +- Build cups print backend. + +------------------------------------------------------------------- +Thu Jan 4 16:20:48 CET 2007 - sbrabec@suse.cz + +- No more depend on gnome-filesystem in SuSEconfig.gtk2. + +------------------------------------------------------------------- +Mon Dec 11 19:21:40 CET 2006 - sbrabec@suse.cz + +- Prefix changed to /usr. +- Spec file cleanup. + +------------------------------------------------------------------- +Sat Nov 11 01:08:38 CET 2006 - danw@suse.de + +- Update gtk64.patch to fix stock icon cache on x86_64 (213922) + +------------------------------------------------------------------- +Wed Nov 8 01:06:19 CET 2006 - jhargadon@suse.de + +- removed the execute bit from /etc/opt/gnome/gtk-2.0/gtkrc + +------------------------------------------------------------------- +Tue Oct 17 22:57:19 CEST 2006 - jhargadon@suse.de + +- update to version 2.10.6 +- Bugs fixed: +- 358931 2.10.5 build issue due to a typo +- 357280 Compile crashes +- 359053 Reduce relocations +- 359052 gtk_print_settings_get_duplex() return wrong + value for one of vertical setting + +------------------------------------------------------------------- +Sat Oct 14 23:31:48 CEST 2006 - danw@suse.de + +- Remove dead patches +- Remove gtk2-179040-file-chooser-location-entry-folder.diff, which + never actually worked, but was effectively reverted in CODE10 by + gtk2-184875-filechooser-location-entry-set-path.diff, the rest of + which is now upstream. + +------------------------------------------------------------------- +Mon Oct 2 21:24:49 CEST 2006 - jhargadon@suse.de + +- update to version 2.10.5 +- many bugs fixes +- Updated translations +- Windows theme engine improvements +- GtkFileChooser works better with remote bookmarks + +------------------------------------------------------------------- +Fri Sep 15 12:36:43 CEST 2006 - sbrabec@suse.cz + +- Fixed module directories ownership. + +------------------------------------------------------------------- +Thu Sep 14 17:46:37 CEST 2006 - jhargadon@suse.de + +- update to version 2.10.3 +* GtkFileChooser: + - Fix several Win32-specific problems + - Add automated tests for GtkFileSystem + - Make overwrite confirmation work again + +* Printing support: + - Fix confusion between names and values in combo boxes + - Poll for printer list updates in the cups backend + +* Add an automatic scrolling example to gtk-demo + +* Bugs fixed: + 354004 Use of g_warning("%s", NULL) after failing to + open a display + 346751 symbolic colors can't be use in properties + 352264 gtk_status_icon_set_from_pixbuf leaks the old + pixbuf + 352391 small link button leak + 353449 A break is missing in + gtk_recent_chooser_menu_set_current_uri + 329604 do not scroll on copy to clipboard + 354035 Typo in the GtkWidget::drag-drop doc blurb +- translation updates + +------------------------------------------------------------------- +Fri Aug 18 18:32:11 CEST 2006 - jhargadon@suse.de + +- update to version 2.10.2 +- Revert to using gtk modules with global binding +- Poll for changes to the XBEL file +- Fix initial bad placement of recent files menu +- Show nonexisting resources by default, and do + not mark them as insensitive +- Allow adding a filter to GtkRecentChooserMenu +- many bug fixes + +------------------------------------------------------------------- +Thu Aug 17 17:43:00 CEST 2006 - sbrabec@suse.cz + +- Typo fix in gtk64.patch. + +------------------------------------------------------------------- +Wed Aug 9 10:09:42 CEST 2006 - aj@suse.de + +- Fix lib64 patch to apply. +- Fix po files to pass new gettext checks. + +------------------------------------------------------------------- +Fri Jul 28 23:12:33 CEST 2006 - gekker@suse.de + +- Update to version 2.10.1 +- Remove upstream patchesa +- lots of updates in the printing area +- various fixes in many other places +- countless bugfixes + + +------------------------------------------------------------------- +Wed Jun 21 07:43:10 CEST 2006 - federico@novell.com + +- Added gtk2-184875-filechooser-location-entry-set-path.diff to fix + https://bugzilla.novell.com/show_bug.cgi?id=184875. This makes the + location entry in the file chooser preserve the filename from + gtk_file_chooser_set_filename() and set_uri(). It was incorrectly + using just the directory name instead of the file name. + +------------------------------------------------------------------- +Wed Jun 7 01:08:09 CEST 2006 - federico@novell.com + +- Added gtk2-179040-file-chooser-location-entry-folder.diff to fix + https://bugzilla.novell.com/show_bug.cgi?id=179040. This makes the + location entry in GtkFileChooser update correctly when you switch + folders. +- Added gtk2-161043-calendar-sane-timer.diff to fix + https://bugzilla.novell.com/show_bug.cgi?id=161043. This makes + GtkCalendar use a more forgiving timeout value when going through + months or years. + +------------------------------------------------------------------- +Thu Jun 1 13:56:24 CEST 2006 - sbrabec@suse.cz + +- Fixed I18N of file selector navigation buttons (#180696). + +------------------------------------------------------------------- +Sun May 28 04:33:03 CEST 2006 - joeshaw@suse.de + +- Add gtk2-filechooserbutton-signal-disconnect-fix.patch to fix + a crash when a GtkFileChooserButton is destroyed but not + finalized and bookmarks or volumes change. (bnc #178122) + +------------------------------------------------------------------- +Wed May 24 02:15:51 CEST 2006 - federico@novell.com + +- Updated gtk+-2.8.6-fontsel-fix.patch to fix bug + https://bugzilla.novell.com/show_bug.cgi?id=177997. The previous + patch caused crashes in all font selectors. + +------------------------------------------------------------------- +Wed May 17 18:24:32 CEST 2006 - bk@suse.de + +- GtkFontSelection: Fix deadlock when used by GtkFontButton (153099) + +------------------------------------------------------------------- +Thu May 4 22:35:09 CEST 2006 - dobey@suse.de + +- Add in default gtkrc file to set theme/icon theme under KDE/etc + Fixes https://bugzilla.novell.com/show_bug.cgi?id=172779 + +------------------------------------------------------------------- +Mon Apr 17 20:23:31 CEST 2006 - federico@novell.com + +- Updated gtk2-filechooser-new-features.diff to fix these bugs: + https://bugzilla.novell.com/show_bug.cgi?id=163234 - The file + chooser now sorts the list of Beagle hits by modification date. + https://bugzilla.novell.com/show_bug.cgi?id=166906 - The file + chooser in SAVE mode will now give the right filename if the user + just switched folders. + +------------------------------------------------------------------- +Mon Apr 3 13:33:16 CEST 2006 - sbrabec@suse.cz + +- Fixed context translation bugs (GNOME#336645). + +------------------------------------------------------------------- +Thu Mar 30 02:36:31 CEST 2006 - federico@novell.com + +- Removed gtk2-151580-filechooser-beagle.diff. +- Added gtk2-filechooser-new-features.diff. This fixes bug #160605, + so the file chooser now has an optional text entry for the file + name. Also, it integrates the functionality for Beagle searching + into the same patch. + +------------------------------------------------------------------- +Fri Mar 24 19:12:59 CET 2006 - rml@suse.de + +- Set default invisible char to something stetic (bug #160688) + +------------------------------------------------------------------- +Fri Mar 24 03:51:56 CET 2006 - federico@novell.com + +- Updated gtk2-151580-filechooser-beagle.diff to fix bug #156843. + With this, the file chooser will no longer show a "Search" item in + the "Save in folder" combo box. + +------------------------------------------------------------------- +Mon Mar 13 12:25:19 CET 2006 - sbrabec@suse.cz + +- Do not believe glibc first weekday (#130787, #104417). + +------------------------------------------------------------------- +Tue Mar 7 04:40:12 CET 2006 - zsu@suse.de + +- Fixed gtkvts crash bug introduced by gtk+-2.8.6-fontsel.patch [#153099]. + +------------------------------------------------------------------- +Thu Feb 23 20:38:53 CET 2006 - federico@novell.com + +- Updated gtk2-151580-filechooser-beagle.diff; now we hide the search + results that correspond to the system documentation. This produces + less clutter. + +------------------------------------------------------------------- +Fri Feb 17 18:12:53 CET 2006 - federico@novell.com + +- Added gtk2-151580-filechooser-beagle.diff to integrate Beagle + searching into the file chooser. This fixes + https://bugzilla.novell.com/show_bug.cgi?id=151580 (about Beagle + support) and https://bugzilla.novell.com/show_bug.cgi?id=148896 + (about not having a highlighted shortcut at startup). + +------------------------------------------------------------------- +Fri Feb 3 23:55:29 CET 2006 - federico@novell.com + +- Added gtk2-117163-cairo-repeat-pattern-workaround.diff as a fix for bug #117163. + In this bug, the desktop gets repainted very slowly due to bugs in Cairo and XRENDER. + The workaround uses a faster code path in GTK+. + +------------------------------------------------------------------- +Thu Feb 2 19:10:48 CET 2006 - gekker@suse.de + +- Backport critical fixes from 2.8.11 (#153213,326806,327751) + +------------------------------------------------------------------- +Wed Feb 1 17:21:32 CET 2006 - sbrabec@suse.cz + +- Translations from localize-font-style-name moved + to translation compendium gnome-patch-translation. + +------------------------------------------------------------------- +Wed Jan 25 21:32:08 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Wed Jan 18 03:32:26 CET 2006 - gekker@suse.de + +- Add patch to improve scrolling speed in font selection (#130159) + +------------------------------------------------------------------- +Mon Jan 16 16:47:11 CET 2006 - meissner@suse.de + +- use -fstack-protector. + +------------------------------------------------------------------- +Fri Jan 13 17:31:49 CET 2006 - sbrabec@suse.cz + +- Updated to version 2.8.10. + +------------------------------------------------------------------- +Wed Jan 11 14:02:57 CET 2006 - sbrabec@suse.cz + +- Removed libpixman from neededforbuild. + +------------------------------------------------------------------- +Wed Jan 11 10:49:10 CET 2006 - meissner@suse.de + +- Added -fno-strict-aliasing. + +------------------------------------------------------------------- +Mon Jan 09 12:17:13 CET 2006 - mfabian@suse.de + +- Bugzilla #131498: don't limit the default for the GTK2 xim module + to "ko:ja:th:zh", use "*" (all languages) instead. + +------------------------------------------------------------------- +Fri Dec 30 14:29:34 CET 2005 - mfabian@suse.de + +- Bugzilla #129753: Localize font style name in gtk font selection + dialog and font button (add patch by Zhe Su ). + Patch updated for gtk+-2.8.9 and German translations of the + style names added. + +------------------------------------------------------------------- +Tue Dec 20 12:24:58 CET 2005 - ro@suse.de + +- also pack translations for gtk20-properties + +------------------------------------------------------------------- +Wed Dec 14 19:16:16 CET 2005 - sbrabec@suse.cz + +- Updated to version 2.8.9. +- Added related old version cleanups (feature #2852). + +------------------------------------------------------------------- +Wed Nov 30 14:25:44 CET 2005 - sbrabec@suse.cz + +- Updated to version 2.8.8. + +------------------------------------------------------------------- +Fri Nov 18 15:47:49 CET 2005 - sbrabec@suse.cz + +- Updated to version 2.8.7. +- Removed obsolete build hacks. +- Try to build with ELF visibility. + +------------------------------------------------------------------- +Tue Nov 15 15:56:20 CET 2005 - sbrabec@suse.cz + +- Fixed XPM buffer overflow vulnerability (#129642). +- More XPM fixes: CVE-2005-2975 xpm too many colors DoS (#129642) +- Removed xrender work-around. + +------------------------------------------------------------------- +Fri Oct 28 19:10:33 CEST 2005 - federico@novell.com + +- Added gtk2-127646-dnd-cursor-offset.diff to fix the position of the default + cursor for drag and drop. + +------------------------------------------------------------------- +Tue Oct 11 23:35:38 CEST 2005 - gekker@suse.de + +- Update to version 2.8.6 +- Fix return of random data + +------------------------------------------------------------------- +Wed Oct 5 01:11:46 CEST 2005 - federico@novell.com + +- Added gtk2-file-chooser-consistent-home-folder-name.diff so that + $HOME will not appear as "Home", but rather as its actual name. + This avoids having [/][home][Home] on the path bar. +- This patch also adds an Alt-D shortcut to the file chooser, to make + it go to your Desktop folder. + +------------------------------------------------------------------- +Mon Oct 3 17:17:46 CEST 2005 - gekker@suse.de + +- Update to version 2.8.4 +- Remove upstream patches + +------------------------------------------------------------------- +Fri Sep 30 01:34:48 CEST 2005 - federico@novell.com + +- Added gtk2-file-chooser-create-save-widgets-only-if-needed.diff and + gtk2-file-chooser-no-reload.diff as optimizations for the file + chooser's startup time. + +------------------------------------------------------------------- +Thu Sep 15 22:13:15 CEST 2005 - gekker@suse.de + +- Fix quoting in SuSEconfig.gtk2 (113511) + +------------------------------------------------------------------- +Thu Sep 8 15:55:39 CEST 2005 - sbrabec@suse.cz + +- Fixed outdated cache files heuristics in SuSEconfig (#113261). + +------------------------------------------------------------------- +Wed Sep 7 18:55:54 CEST 2005 - sbrabec@suse.cz + +- Fixed first weekday bug with latest glibc localedata (#104417). + +------------------------------------------------------------------- +Thu Sep 1 19:46:12 CEST 2005 - gekker@suse.de + +- Update to version 2.8.3 +- Remove upstreamed patch + +------------------------------------------------------------------- +Fri Aug 26 19:54:13 CEST 2005 - jpr@suse.de + +- Patch gtk-update-icon-cache to be a little smarter and alter the + SuSEconfig.gtk2 script to be smarter about removing dead cache files. + +------------------------------------------------------------------- +Wed Aug 24 22:40:56 CEST 2005 - gekker@suse.de + +- Update to version 2.8.2 + +------------------------------------------------------------------- +Wed Aug 24 16:50:19 CEST 2005 - rodrigo@suse.de + +- Update to version 2.8.1 +- Updated gtk+-strict-aliasing.patch. + +------------------------------------------------------------------- +Thu Aug 18 06:33:24 CEST 2005 - gekker@suse.de + +- Update version to 2.8.0 (GNOME2.12) + +------------------------------------------------------------------- +Fri Aug 12 21:42:00 CEST 2005 - gekker@suse.de + +- Fix crash in file chooser b.g.o (310270). + +------------------------------------------------------------------- +Thu Aug 11 02:49:18 CEST 2005 - gekker@suse.de + +- Update to version 2.7.5 +- Remove upstreamed patch + +------------------------------------------------------------------- +Wed Aug 10 23:07:21 CEST 2005 - clahey@suse.de + +- Patch to check for updated icon theme (especially cache) every + 30 seconds. + +------------------------------------------------------------------- +Fri Aug 5 15:30:25 CEST 2005 - sbrabec@suse.cz + +- Create loaders before icon cache to avoid error mesages during + first SuSEconfig run. + +------------------------------------------------------------------- +Thu Aug 4 13:44:35 CEST 2005 - sbrabec@suse.cz + +- Removed pixmaps and icons directories from SuSEconfig (#85839). + +------------------------------------------------------------------- +Tue Aug 2 13:05:39 CEST 2005 - ro@suse.de + +- fix and re-enable gtk64.patch + +------------------------------------------------------------------- +Mon Aug 1 19:03:55 CEST 2005 - gekker@suse.de + +- Update to version 2.7.4 +- Add cairo, libpixman, and glitz to nfb +- Remove upstreamed patch + +------------------------------------------------------------------- +Fri Jun 24 12:57:55 CEST 2005 - sbrabec@suse.cz + +- Fixed devel dependencies. +- Removed .la files for modules. +- Fixed uninitialized variable warnings. + +------------------------------------------------------------------- +Mon Jun 20 14:45:25 CEST 2005 - sbrabec@suse.cz + +- Create icon-cache files by SuSEconfig (#88599). + +------------------------------------------------------------------- +Fri Jun 17 05:50:47 CEST 2005 - gekker@suse.de + +- Fix gtk64.patch and build on x86_64. + +------------------------------------------------------------------- +Fri Jun 17 00:09:27 CEST 2005 - gekker@suse.de + +- Update to version 2.6.8. +- Fix sentinel patch to work with new version of glib2. + +------------------------------------------------------------------- +Wed Jun 1 15:36:31 CEST 2005 - sbrabec@suse.cz + +- Use current name for XFree86-devel in Requires (#54136). + +------------------------------------------------------------------- +Mon May 2 23:00:03 CEST 2005 - gekker@suse.de + +- Fix crasher in gtktextview (380). + +------------------------------------------------------------------- +Mon Apr 4 07:40:13 CEST 2005 - aj@suse.de + +- Disable visibility to build with GCC4. This should be + enabled again once gtk is fixed. + +------------------------------------------------------------------- +Fri Mar 18 22:09:04 CET 2005 - gekker@suse.de + +- Add gtk-esc-closes.diff + +------------------------------------------------------------------- +Wed Mar 2 22:50:31 CET 2005 - gekker@suse.de + +- Updated to version 2.6.4 + +------------------------------------------------------------------- +Mon Feb 7 15:48:24 CET 2005 - sbrabec@suse.cz + +- Updated to version 2.6.2. + +------------------------------------------------------------------- +Sun Jan 30 11:35:56 CET 2005 - meissner@suse.de + +- fixed XIM valist usage 0->NULL. + +------------------------------------------------------------------- +Fri Jan 21 11:17:37 CET 2005 - meissner@suse.de + +- specify valist functions with NULL termination + with sentinel attribute for gcc4. +- parallel make +- fixed one strict aliasing problem +- removed -fno-strict-aliasing, -mminimal-toc + +------------------------------------------------------------------- +Mon Jan 17 12:48:46 CET 2005 - ro@suse.de + +- added c++ to neededforbuild (for libtiff) + +------------------------------------------------------------------- +Mon Jan 17 10:54:33 CET 2005 - clahey@suse.de + +- Updated to version 2.6.1. + +------------------------------------------------------------------- +Wed Jan 12 12:02:43 CET 2005 - gekker@suse.de + +- Update to version 2.6.0 + +------------------------------------------------------------------- +Tue Nov 23 16:48:50 CET 2004 - hhetter@suse.de + +- add some information on how to manually regenerate + gdk-pixbuf-modules if needed + +------------------------------------------------------------------- +Mon Nov 22 15:24:27 CET 2004 - ro@suse.de + +- fix build on 9.2 (missing so links for libXfixes) + +------------------------------------------------------------------- +Fri Nov 19 17:06:33 CET 2004 - ro@suse.de + +- updated gtk64 patch + +------------------------------------------------------------------- +Wed Nov 17 18:00:53 CET 2004 - gekker@suse.de + +- Update version to 2.5.5. + +------------------------------------------------------------------- +Tue Oct 26 22:35:40 CEST 2004 - mmj@suse.de + +- locale rename no to nb + +------------------------------------------------------------------- +Wed Oct 20 14:50:02 CEST 2004 - ro@suse.de + +- make specfile rpm3-save + +------------------------------------------------------------------- +Mon Sep 27 17:23:37 CEST 2004 - sbrabec@suse.cz + +- Added work-around for GTK_PATH bi-arch problems (#45386). + +------------------------------------------------------------------- +Mon Sep 6 15:21:00 CEST 2004 - meissner@suse.de + +- Added ico overflow security patch, CAN-2004-0788. + +------------------------------------------------------------------- +Tue Aug 31 23:13:45 CEST 2004 - dave@suse.de + +- Added gtk2-cancel-rename.patch, ximian #59669 + +------------------------------------------------------------------- +Fri Aug 27 16:46:00 CEST 2004 - federico@ximian.com + +- Removed stray g_print() from gtk-xpm-secfix.dif; normalized the patch + +------------------------------------------------------------------- +Thu Aug 26 19:14:21 CEST 2004 - federico@ximian.com + +- Updated to gtk+-2.4.9 +- Normalized gtk+-strict-aliasing.patch + +------------------------------------------------------------------- +Tue Aug 24 15:47:07 CEST 2004 - hhetter@suse.de + +- added security patch for XPM decoder (#44100) + CAN-2004-0782, CAN-2004-0783. + +------------------------------------------------------------------- +Wed Aug 4 22:52:45 CEST 2004 - clahey@suse.de + +- Added gtk2-esc-closes.patch from Federico. + +------------------------------------------------------------------- +Fri Jun 4 23:52:22 CEST 2004 - clahey@suse.de + +- Fixed filesel patch to just go directly to Desktop. + +------------------------------------------------------------------- +Tue Apr 27 12:51:22 CEST 2004 - sbrabec@suse.cz + +- Fixed gtk64.patch. + +------------------------------------------------------------------- +Mon Apr 26 17:53:54 CEST 2004 - sbrabec@suse.cz + +- Added empty /opt/gnome/%_lib/gtk-2.0/2.4.0/filesystems to filelist. + +------------------------------------------------------------------- +Wed Apr 21 13:40:39 CEST 2004 - sbrabec@suse.cz + +- Fixed strict aliasing, undefined reference and incompatible type + warnings. + +------------------------------------------------------------------- +Thu Apr 15 18:05:27 CEST 2004 - sbrabec@suse.cz + +- Updated to version 2.4.0 (GNOME 2.6). +- Removed obsolete patches. + +------------------------------------------------------------------- +Thu Apr 01 17:32:11 CEST 2004 - sbrabec@suse.cz + +- Set GTK_PATH to simplify integration of /usr/local binaries. + +------------------------------------------------------------------- +Mon Mar 15 14:39:46 CET 2004 - sbrabec@suse.cz + +- FHS 2.3 fix (mandir, infodir, #35821). + +------------------------------------------------------------------- +Thu Mar 11 13:52:32 CET 2004 - sbrabec@suse.cz + +- Use SuSEconfig biarch wrapper and identical filename for all + platforms. +- Include README.SuSE about biarch problems. + +------------------------------------------------------------------- +Fri Mar 5 10:07:00 CET 2004 - hhetter@suse.de + +- apply reworked patch gtk2-filesel-navbuttons.patch: + Default to ~/Desktop + +------------------------------------------------------------------- +Tue Mar 02 13:46:16 CET 2004 - sbrabec@suse.cz + +- Bi-arch work-arounds to prevent 32/64 bit conflicts (bug #33705). + For more see http://bugzilla.gnome.org/show_bug.cgi?id=129540 + +------------------------------------------------------------------- +Mon Mar 01 14:12:05 CET 2004 - sbrabec@suse.cz + +- Fixed focus loop in gtk_socket_focus() (#33810). + Fixes 100% CPU load problem in Notification Area Applet. + http://bugzilla.gnome.org/show_bug.cgi?id=122327 +- Build with -fno-strict-aliasing. + +------------------------------------------------------------------- +Thu Feb 26 16:42:59 CET 2004 - hhetter@suse.de + +- applied ximian patches + +------------------------------------------------------------------- +Mon Feb 23 18:36:47 CET 2004 - sbrabec@suse.cz + +- Fixed AC_DEFUN underquoting. + +------------------------------------------------------------------- +Sat Jan 10 11:18:14 CET 2004 - adrian@suse.de + +- add %run_ldconfig and %defattr + +------------------------------------------------------------------- +Thu Jan 8 14:53:31 CET 2004 - ro@suse.de + +- fix build with current freetype + +------------------------------------------------------------------- +Wed Nov 5 16:43:59 CET 2003 - hhetter@suse.de + +- added xfree86-devel to Requires for the devel subpackage + +------------------------------------------------------------------- +Fri Oct 10 12:01:04 CEST 2003 - sbrabec@suse.cz + +- Updated to version 2.2.4. + +------------------------------------------------------------------- +Thu Aug 28 15:42:16 CEST 2003 - sbrabec@suse.cz + +- Updated to version 2.2.3. + +------------------------------------------------------------------- +Thu Jul 24 02:17:07 CEST 2003 - hhetter@suse.de + +- fix SuSEconfig.gtk2 query paths + +------------------------------------------------------------------- +Wed Jul 16 16:07:02 CEST 2003 - sbrabec@suse.cz + +- SuSEconfig.gtk2: Fixed paths to query binaries. +- Added empty directory for immodules. + +------------------------------------------------------------------- +Mon Jul 14 19:28:34 CEST 2003 - sbrabec@suse.cz + +- GNOME prefix change to /opt/gnome. + +------------------------------------------------------------------- +Thu Jul 10 16:19:16 CEST 2003 - sbrabec@suse.cz + +- Worked around linking problems on ppc64 (#27837). + +------------------------------------------------------------------- +Tue Jun 24 12:20:28 CEST 2003 - sbrabec@suse.cz + +- Created empty directory for engines and modules. + +------------------------------------------------------------------- +Thu Jun 12 14:51:17 CEST 2003 - sbrabec@suse.cz + +- Updated to version 2.2.2. +- Fixed directory packaging. + +------------------------------------------------------------------- +Wed May 28 12:52:36 CEST 2003 - sbrabec@suse.cz + +- Include manpage to devel package. + +------------------------------------------------------------------- +Wed May 28 01:44:13 CEST 2003 - ro@suse.de + +- remove unpackaged files from buildroot + +------------------------------------------------------------------- +Thu May 22 11:34:09 CEST 2003 - sbrabec@suse.cz + +- Fixed typo in Requires for -devel package (#27025). + +------------------------------------------------------------------- +Wed May 14 11:45:01 CEST 2003 - sbrabec@suse.cz + +- Sync -devel Requires with pkgconfig (bug #26876). + +------------------------------------------------------------------- +Tue Mar 18 15:47:20 CET 2003 - sbrabec@suse.cz + +- Moved devel files to devel package (fixes bug #25163). + +------------------------------------------------------------------- +Wed Mar 12 17:59:50 CET 2003 - sbrabec@suse.cz + +- Added gnome2 profile.d files containing required variables (fixes + theme problems for all session types). + +------------------------------------------------------------------- +Wed Mar 12 17:00:13 CET 2003 - sbrabec@suse.cz + +- Fixed prefix clash for keyboard themes (fixes bug 25086). + +------------------------------------------------------------------- +Mon Feb 10 02:00:53 CET 2003 - ro@suse.de + +- create /etc/gtk-2.0 in SuSEconfig.gtk2 if needed + +------------------------------------------------------------------- +Thu Feb 06 12:24:25 CET 2003 - sbrabec@suse.cz + +- Updated to version 2.2.1. +- Include generated config files to %files (with %ghost). + +------------------------------------------------------------------- +Wed Feb 05 11:11:36 CET 2003 - sbrabec@suse.cz + +- Removed -mminimal-toc from spec file, since it is now RPM default. + +------------------------------------------------------------------- +Tue Jan 14 17:16:53 CET 2003 - sbrabec@suse.cz + +- Update SuSEconfig.gtk2 to create gdk-pixbuf.loaders. + +------------------------------------------------------------------- +Mon Jan 13 17:29:28 CET 2003 - sbrabec@suse.cz + +- Added expat to neededforbuild (for new xft2). + +------------------------------------------------------------------- +Thu Jan 09 18:21:36 CET 2003 - sbrabec@suse.cz + +- Updated to version 2.2.0. +- Updated automake patch. + +------------------------------------------------------------------- +Mon Nov 25 14:20:17 CET 2002 - hhetter@suse.de + +- updated to version 2.0.9 + * Fix colormap refcounting, which caused + frequent metacity crashes + * GtkTreeView bug fixes + - Make TreeView reordering work on FreeBSD/Solaris + * Updated translations (be, ru, nl, fr) + +------------------------------------------------------------------- +Mon Nov 11 09:18:24 CET 2002 - hhetter@suse.de + +- updated to version 2.0.8 + * Typo in io-gif.c that caused GIFs not to be loadable + by gdk-pixbuf. + * Incompatibility between the libtool used for generating + the tarball and older versions of binutils on Linux. + +------------------------------------------------------------------- +Tue Nov 5 11:33:30 CET 2002 - hhetter@suse.de + +- updated to 2.0.7 bugfix release +- removed x86_64 patch as it's upstream, from Changelog: + * Fix some memory leaks in gdk-pixbuf + * Pixbuf loader fixes + * Support depth 8 StaticColor in GdkRGB + * Win32 fixes and improvements + * Improve tracking of toplevel focus state + * XIM input method fixes + * Fix the longstanding problem with <,> keys and XIM + * Fix GtkIMContextSimple for us-intl keyboards + * GtkIMContextSimple updates for Eastern Europe + * Fix the "key bindings randomly stop working" problem + * GtkTextView fixes + * GtkTreeView bugfixes + * GtkCombo fixes + * Fix 64-bit problem with GtkFundamentalType + * New and updated translations + * Many miscellaneous bug fixes + +------------------------------------------------------------------- +Tue Oct 22 13:45:08 CEST 2002 - sbrabec@suse.cz + +- Move /var/adm/SuSEconfig/run-gtk to %post (fixes #20029). + +------------------------------------------------------------------- +Wed Oct 09 17:40:10 CEST 2002 - sbrabec@suse.cz + +- Added support for dead keyed Hungarian characters in iso88592.dif + characters. + +------------------------------------------------------------------- +Tue Oct 01 16:06:53 CEST 2002 - sbrabec@suse.cz + +- Added ISO-8859-2 supporting patch from CVS. + +------------------------------------------------------------------- +Fri Sep 6 10:06:05 CEST 2002 - sf@suse.de + +- added patch to avoid wrong va_arg handling + which leads to almost any GTK-Widget segfaulting + +------------------------------------------------------------------- +Wed Aug 21 18:36:57 CEST 2002 - kukuk@suse.de + +- Fix Requires entry + +------------------------------------------------------------------- +Thu Aug 15 14:28:35 CEST 2002 - hhetter@suse.de + +- branch gtk2-doc package + +------------------------------------------------------------------- +Tue Aug 13 09:38:12 CEST 2002 - hhetter@suse.de + +- added fbmanager and gdktarget build options (#17640) +- devel package requires main package + +------------------------------------------------------------------- +Thu Aug 8 09:50:30 CEST 2002 - hhetter@suse.de + +- use %{version} tag in LIBRARY_PATH +- enable xim and shm + +------------------------------------------------------------------- +Mon Aug 5 11:50:26 CEST 2002 - hhetter@suse.de + +- updated to version 2.0.6 + * GtkTreeView bug fixes + * Fix problem with keynav and insensitive menu items + * Fix pixbuf_from_drawable() for LSB -> MSB + * Use GTK2_RC_FILES envvar instead of GTK_RC_FILES + * Focus check/radio buttons when activating with a mnemonic + * Cycle between multiple menubars with F10, not control-tab + * Misc bug fixes + * Build fixes for cross-compiling and portability + * Updated translations (bg,ca,da,fr,ja,ko,lv,no,pl,ru,sk,sv,vi) + +------------------------------------------------------------------- +Tue Jul 30 13:58:28 CEST 2002 - jordi@suse.de + +- added missing documentation for gtk2-devel + +------------------------------------------------------------------- +Wed Jul 10 10:16:21 CEST 2002 - hhetter@suse.de + +- fix requires of devel package, still pointed to GTK 1.x packages + +------------------------------------------------------------------- +Mon Jun 17 19:15:45 CEST 2002 - jordi@suse.de + +- Updated to version 2.0.5 + * Fix a wrong assertion that broke gtk_file_selection_set_filename(); + also another fix from testing this function with non-UTF-8 filenames. + * Fix incorrect property notification in GtkTextView. + + Overview of Changes in GTK+ 2.0.4 + + * Fix a number of types which were registered with the + type system with the wrong names + * Support missing data types in GtkList/TreeStore + * Misc GtkTreeView bug fixes + * Drag and drop fixes, including a stuck grab. + * Calculate screen size on win32 from the "logical DPI" + * Misc Win32 bug fixes. + * Fix theme changes for GtkMenu + * Fix gdk_pixbuf_from_drawable() for big endian. + * Fix encoding handling for gtk_file_selection_set_filename() + * Fix crash with DND, Qt and Metacity + * Fixes for DirectColor visuals + * Memory leak and UMR fixes + * Misc bug fixes + * Updated translations + + +------------------------------------------------------------------- +Thu Jun 13 01:06:11 CEST 2002 - ro@suse.de + +- use libpng-devel-packages in nededforbuild + +------------------------------------------------------------------- +Mon Jun 10 14:10:34 CEST 2002 - meissner@suse.de + +- Need to use -mminimal-toc for ppc64. + +------------------------------------------------------------------- +Tue Jun 4 09:58:03 CEST 2002 - ro@suse.de + +- re-add libdir fixes + +------------------------------------------------------------------- +Tue Jun 4 09:13:47 CEST 2002 - hhetter@suse.de + +- updated to stable version 2.0.3: + * GtkTreeView fixes + * Improve GdkRGB support for low color depths + * Tweak F10 behavior to focus GtkMenuBar + * Include internal children when focusing + * Allow use of a pixmap as the drawable in gdk_pixmap_new(). + * GdkPixbuf fixes + * GtkMenu fixes. + * Misc input-method related fixes + * Fix stuck grab during DND. + * Remove in-bevel from scrolled-offscreen menus. + * Various plug/socket fixes + * Handle Xlib internal connections + * Many miscellaneous bug fixes. + +------------------------------------------------------------------- +Tue Apr 9 10:15:26 CEST 2002 - hhetter@suse.de + +- update to stable version 2.0.2 + +------------------------------------------------------------------- +Tue Apr 9 08:28:11 CEST 2002 - ro@suse.de + +- build with "atk-1.0" (was "atk") + +------------------------------------------------------------------- +Fri Feb 1 09:03:33 CET 2002 - hhetter@suse.de + +- updated to 1.1.13 [gnome desktop alpha2] +- build with libpng-devel + +------------------------------------------------------------------- +Fri Jan 25 09:50:40 CET 2002 - hhetter@suse.de + +- rename SuSEconfig.gtk to SuSEconfig.gtk2 + +------------------------------------------------------------------- +Thu Jan 17 14:34:42 CET 2002 - hhetter@suse.de + +- new SuSEconfig.gtk script ensures that all input-method modules + are registered + +------------------------------------------------------------------- +Fri Jan 11 11:35:26 CET 2002 - hhetter@suse.de + +- use version tag in patch filename +- updated to version 1.3.12: + * Fix problems with PNG saving + * Cleanups of deprecated usages + * Frame buffer port fixes + * GtkTextView bug fixes + * Menu behavior improvements + * Make focus line width configurable, focus color work on + dark themes. + * Add state argument to gtk_paint_focus() + * Added incremental revalidation to tree view, for better apparent speed + * Remove useless gtk_tree_view_column_cell_event() + * Display XIM status in a separate window + * Add menu of Unicode control characters to GtkEntry, GtkTextView + * Pass key releases along to input methods [Owen] +- specfile cleanup + +------------------------------------------------------------------- +Thu Jan 10 13:53:13 CET 2002 - hhetter@suse.de + +- no longer require glib (1.x) + +------------------------------------------------------------------- +Thu Jan 10 10:51:42 CET 2002 - hhetter@suse.de + +- include gdk-pixbuf's tools +- build with freetype2 support + +------------------------------------------------------------------- +Tue Jan 8 09:45:48 CET 2002 - hhetter@suse.de + +- include links for default library names + +------------------------------------------------------------------- +Wed Dec 12 10:33:02 CET 2001 - hhetter@suse.de + +- initial SuSE release for GNOME 2.0 platform +- added LIBRARY_PATH for broken libtool +- build with automake 1.5 + + diff --git a/gtk2.spec b/gtk2.spec new file mode 100644 index 0000000..b09bce1 --- /dev/null +++ b/gtk2.spec @@ -0,0 +1,875 @@ +# +# spec file for package gtk2 (Version 2.10.6) +# +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: gtk2 +%define _name gtk+ +BuildRequires: atk-devel cairo-devel cups-devel gcc-c++ gnome-patch-translation gtk-doc libtiff-devel pango-devel +%if %suse_version <= 1020 +# Missing in cups-devel: +BuildRequires: openssl-devel +%endif +URL: http://www.gtk.org/ +License: GNU Library General Public License v. 2.0 and 2.1 (LGPL) +Group: System/Libraries +Autoreqprov: on +PreReq: /usr/bin/touch /bin/rm /bin/rmdir +Version: 2.10.6 +Release: 21 +Summary: Library for Creation of Graphical User Interfaces +Source: ftp://ftp.gnome.org/pub/GNOME/sources/%{_name}/2.10/%{_name}-%{version}.tar.bz2 +Source1: SuSEconfig.gtk2 +Source2: README.SuSE +Source3: gtkrc +Patch: gtk+-strict-aliasing.patch +Patch1: gtk2-uninitialized.patch +Patch4: gtk2-filesel-navbuttons.patch +Patch6: gtk+-mac_ctree.patch +Patch8: gtk64.patch +Patch12: gdk-modules-information.diff +Patch14: gtktextview.c.diff +Patch15: gtk2-gtkicontheme-autoupdate.patch +Patch17: gtk2-remove-empty-cache.patch +Patch22: bugzilla-129753-gtk+-2.8.9-localize-font-style-name.diff +Patch23: bugzilla-131498-allow-xim-for-all-languages.patch +Patch24: gtk+-2.8.6-fontsel.patch +Patch31: gtk+-2.8.6-fontsel-fix.patch +Patch32: gtk2-set-invisible-char-to-circle.patch +Patch38: gtk2-po.patch +Patch39: gtk2-makefile-typo.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Requires: cairo >= 0.9.2 + +%description +This fast and versatile library is used all over the world for all +GNOME applications, the GIMP, and several others. Originally it was +written for the GIMP and hence has the name GIMP ToolKit. Many people +like it because it is small, efficient, and very configurable. + + + +Authors: +-------- + Peter Mattis + Spencer Kimball + Josh MacDonald + Shawn T. Amundson + Jerome Bolliet + Damon Chaplin + Tony Gale + Jeff Garzik + Lars Hamann + Raja R Harinath + Carsten Haitzler + Tim Janik + Stefan Jeske + Elliot Lee + Raph Levien + Ian Main + Federico Mena + Paolo Molaro + Jay Painter + Manish Singh + Owen Taylor + +%package devel +Summary: Include Files and Libraries mandatory for Development. +Group: Development/Libraries/X11 +Autoreqprov: on +Requires: %{name} = %{version} atk-devel cairo-devel glibc-devel glib2-devel pango-devel %(rpm -q --whatprovides XFree86-devel --queryformat '%{NAME}') + +%description devel +This fast and versatile library is used all over the world for all +GNOME applications, the GIMP, and several other applications. +Originally it was written for the GIMP and hence has the name Gimp +ToolKit. Many people like it because it is small, efficient, and very +configurable. + + + +Authors: +-------- + Peter Mattis + Spencer Kimball + Josh MacDonald + Shawn T. Amundson + Jerome Bolliet + Damon Chaplin + Tony Gale + Jeff Garzik + Lars Hamann + Raja R Harinath + Carsten Haitzler + Tim Janik + Stefan Jeske + Elliot Lee + Raph Levien + Ian Main + Federico Mena + Paolo Molaro + Jay Painter + Manish Singh + Owen Taylor + +%package doc +Summary: Additional Package Documentation. +Group: Development/Libraries/X11 +Requires: %{name} = %{version} + +%description doc +This fast and versatile library is used all over the world for all +GNOME applications, the GIMP, and several other applications. +Originally it was written for the GIMP and hence has the name Gimp +ToolKit. Many people like it because it is small, efficient, and very +configurable. + + + +Authors: +-------- + Peter Mattis + Spencer Kimball + Josh MacDonald + Shawn T. Amundson + Jerome Bolliet + Damon Chaplin + Tony Gale + Jeff Garzik + Lars Hamann + Raja R Harinath + Carsten Haitzler + Tim Janik + Stefan Jeske + Elliot Lee + Raph Levien + Ian Main + Federico Mena + Paolo Molaro + Jay Painter + Manish Singh + Owen Taylor + +%prep +%setup -q -n %{_name}-%{version} +gnome-patch-translation-prepare +%patch -p1 +%patch1 +%patch4 -p1 +%patch6 -p1 +cp -a %{S:1} . +%if "%_lib" == "lib64" +cp -a %{S:2} . +# WARNING: This patch does not patch not installed demos and tests. +%patch8 -p1 +%endif +%patch12 -p1 +%patch14 -p0 +%patch15 -p0 +%patch17 -p0 +%patch22 -p1 +%patch23 -p1 +%patch24 +%patch31 +%patch32 -p1 +%patch38 -p1 +#%patch39 +gnome-patch-translation-update + +%build +ACLOCAL="aclocal -I m4macros" autoreconf -f -i +## HACK ALERT BEGIN +# work around 9.2 deficiency +if test -f /usr/X11R6/%_lib/libXfixes.a -a ! -f /usr/X11R6/%_lib/libXfixes.so ; then + ln -sf /usr/X11R6/%_lib/libXfixes.so.? gdk/libXfixes.so + export LDFLAGS="-L." +fi +## HACK ALERT END +export CFLAGS="$RPM_OPT_FLAGS" +%if %suse_version > 1000 +export CFLAGS="$CFLAGS -fstack-protector" +%endif +%ifarch ppc64 +export CFLAGS="$CFLAGS -mminimal-toc" +%endif +# Do not believe glibc first weekday: +# https://bugzilla.novell.com/show_bug.cgi?id=130787 +# https://bugzilla.novell.com/show_bug.cgi?id=104417 +# http://sources.redhat.com/bugzilla/show_bug.cgi?id=2388 +sed -i /HAVE__NL_TIME_FIRST_WEEKDAY/d config.h.in +# needed for gtk+-2.10.6: +export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" +%configure\ + --enable-fbmanager +make %{?jobs:-j%jobs} + +%install +make install DESTDIR=$RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT/sbin/conf.d +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0 +install -m 755 SuSEconfig.gtk2 $RPM_BUILD_ROOT/sbin/conf.d +touch $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gtk.immodules $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders +install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0 +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/cache/gtk-2.0 +touch $RPM_BUILD_ROOT%{_localstatedir}/cache/gtk-2.0/icon-theme.cache-list +mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/{,2.10.0/}{engines,filesystems,immodules,loaders,modules,printbackends} +%find_lang gtk20 +%find_lang gtk20-properties gtk20.lang +%if "%_lib" == "lib64" +mv $RPM_BUILD_ROOT%{_bindir}/gdk-pixbuf-query-loaders\ + $RPM_BUILD_ROOT%{_bindir}/gdk-pixbuf-query-loaders-64 +mv $RPM_BUILD_ROOT%{_bindir}/gtk-query-immodules-2.0\ + $RPM_BUILD_ROOT%{_bindir}/gtk-query-immodules-2.0-64 +mv $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gtk.immodules\ + $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gtk64.immodules +mv $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gdk-pixbuf.loaders\ + $RPM_BUILD_ROOT%{_sysconfdir}/gtk-2.0/gdk-pixbuf64.loaders +%endif +mkdir -p $RPM_BUILD_ROOT/etc/profile.d +echo 'if test -z "$GTK_PATH" ; then + export GTK_PATH="/usr/local/lib/gtk-2.0:/usr/lib/gtk-2.0" +else + export GTK_PATH="/usr/local/lib/gtk-2.0:/usr/lib/gtk-2.0:$GTK_PATH" +fi' > $RPM_BUILD_ROOT/etc/profile.d/%{name}.sh +echo 'if ( ${?GTK_PATH} ) then + setenv GTK_PATH /usr/local/lib/gtk-2.0:/usr/lib/gtk-2.0:${GTK_PATH} +else + setenv GTK_PATH /usr/local/lib/gtk-2.0:/usr/lib/gtk-2.0 +endif' > $RPM_BUILD_ROOT/etc/profile.d/%{name}.csh +%if "%_lib" == "lib64" +echo 'if test -z "$GTK_PATH64" ; then + export GTK_PATH64="/usr/local/%_lib/gtk-2.0:/usr/%_lib/gtk-2.0" +else + export GTK_PATH64="/usr/local/%_lib/gtk-2.0:/usr/%_lib/gtk-2.0:$GTK_PATH64" +fi' >> $RPM_BUILD_ROOT/etc/profile.d/%{name}.sh +echo 'if ( ${?GTK_PATH64} ) then + setenv GTK_PATH64 /usr/local/%_lib/gtk-2.0:/usr/%_lib/gtk-2.0:${GTK_PATH64} +else + setenv GTK_PATH64 /usr/local/%_lib/gtk-2.0:/usr/%_lib/gtk-2.0 +endif' >> $RPM_BUILD_ROOT/etc/profile.d/%{name}.csh +%endif +rm $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/2*/*/*.la + +%clean +rm -rf $RPM_BUILD_ROOT + +%post +%run_ldconfig +touch var/adm/SuSEconfig/run-gtk + +%preun +# Remove all old icon cache files created by SuSEconfig.gtk2. +# If it is an update, files will be re-created. +if test -f var/cache/gtk-2.0/icon-theme.cache-list ; then + for DIR in $(). + Patch updated for gtk+-2.8.9 and German translations of the + style names added. +* Tue Dec 20 2005 - ro@suse.de +- also pack translations for gtk20-properties +* Wed Dec 14 2005 - sbrabec@suse.cz +- Updated to version 2.8.9. +- Added related old version cleanups (feature #2852). +* Wed Nov 30 2005 - sbrabec@suse.cz +- Updated to version 2.8.8. +* Fri Nov 18 2005 - sbrabec@suse.cz +- Updated to version 2.8.7. +- Removed obsolete build hacks. +- Try to build with ELF visibility. +* Tue Nov 15 2005 - sbrabec@suse.cz +- Fixed XPM buffer overflow vulnerability (#129642). +- More XPM fixes: CVE-2005-2975 xpm too many colors DoS (#129642) +- Removed xrender work-around. +* Fri Oct 28 2005 - federico@novell.com +- Added gtk2-127646-dnd-cursor-offset.diff to fix the position of the default + cursor for drag and drop. +* Tue Oct 11 2005 - gekker@suse.de +- Update to version 2.8.6 +- Fix return of random data +* Wed Oct 05 2005 - federico@novell.com +- Added gtk2-file-chooser-consistent-home-folder-name.diff so that + $HOME will not appear as "Home", but rather as its actual name. + This avoids having [/][home][Home] on the path bar. +- This patch also adds an Alt-D shortcut to the file chooser, to make + it go to your Desktop folder. +* Mon Oct 03 2005 - gekker@suse.de +- Update to version 2.8.4 +- Remove upstream patches +* Fri Sep 30 2005 - federico@novell.com +- Added gtk2-file-chooser-create-save-widgets-only-if-needed.diff and + gtk2-file-chooser-no-reload.diff as optimizations for the file + chooser's startup time. +* Thu Sep 15 2005 - gekker@suse.de +- Fix quoting in SuSEconfig.gtk2 (113511) +* Thu Sep 08 2005 - sbrabec@suse.cz +- Fixed outdated cache files heuristics in SuSEconfig (#113261). +* Wed Sep 07 2005 - sbrabec@suse.cz +- Fixed first weekday bug with latest glibc localedata (#104417). +* Thu Sep 01 2005 - gekker@suse.de +- Update to version 2.8.3 +- Remove upstreamed patch +* Fri Aug 26 2005 - jpr@suse.de +- Patch gtk-update-icon-cache to be a little smarter and alter the + SuSEconfig.gtk2 script to be smarter about removing dead cache files. +* Wed Aug 24 2005 - gekker@suse.de +- Update to version 2.8.2 +* Wed Aug 24 2005 - rodrigo@suse.de +- Update to version 2.8.1 +- Updated gtk+-strict-aliasing.patch. +* Thu Aug 18 2005 - gekker@suse.de +- Update version to 2.8.0 (GNOME2.12) +* Fri Aug 12 2005 - gekker@suse.de +- Fix crash in file chooser b.g.o (310270). +* Thu Aug 11 2005 - gekker@suse.de +- Update to version 2.7.5 +- Remove upstreamed patch +* Wed Aug 10 2005 - clahey@suse.de +- Patch to check for updated icon theme (especially cache) every + 30 seconds. +* Fri Aug 05 2005 - sbrabec@suse.cz +- Create loaders before icon cache to avoid error mesages during + first SuSEconfig run. +* Thu Aug 04 2005 - sbrabec@suse.cz +- Removed pixmaps and icons directories from SuSEconfig (#85839). +* Tue Aug 02 2005 - ro@suse.de +- fix and re-enable gtk64.patch +* Mon Aug 01 2005 - gekker@suse.de +- Update to version 2.7.4 +- Add cairo, libpixman, and glitz to nfb +- Remove upstreamed patch +* Fri Jun 24 2005 - sbrabec@suse.cz +- Fixed devel dependencies. +- Removed .la files for modules. +- Fixed uninitialized variable warnings. +* Mon Jun 20 2005 - sbrabec@suse.cz +- Create icon-cache files by SuSEconfig (#88599). +* Fri Jun 17 2005 - gekker@suse.de +- Fix gtk64.patch and build on x86_64. +* Fri Jun 17 2005 - gekker@suse.de +- Update to version 2.6.8. +- Fix sentinel patch to work with new version of glib2. +* Wed Jun 01 2005 - sbrabec@suse.cz +- Use current name for XFree86-devel in Requires (#54136). +* Mon May 02 2005 - gekker@suse.de +- Fix crasher in gtktextview (380). +* Mon Apr 04 2005 - aj@suse.de +- Disable visibility to build with GCC4. This should be + enabled again once gtk is fixed. +* Fri Mar 18 2005 - gekker@suse.de +- Add gtk-esc-closes.diff +* Wed Mar 02 2005 - gekker@suse.de +- Updated to version 2.6.4 +* Mon Feb 07 2005 - sbrabec@suse.cz +- Updated to version 2.6.2. +* Sun Jan 30 2005 - meissner@suse.de +- fixed XIM valist usage 0->NULL. +* Fri Jan 21 2005 - meissner@suse.de +- specify valist functions with NULL termination + with sentinel attribute for gcc4. +- parallel make +- fixed one strict aliasing problem +- removed -fno-strict-aliasing, -mminimal-toc +* Mon Jan 17 2005 - ro@suse.de +- added c++ to neededforbuild (for libtiff) +* Mon Jan 17 2005 - clahey@suse.de +- Updated to version 2.6.1. +* Wed Jan 12 2005 - gekker@suse.de +- Update to version 2.6.0 +* Tue Nov 23 2004 - hhetter@suse.de +- add some information on how to manually regenerate + gdk-pixbuf-modules if needed +* Mon Nov 22 2004 - ro@suse.de +- fix build on 9.2 (missing so links for libXfixes) +* Fri Nov 19 2004 - ro@suse.de +- updated gtk64 patch +* Wed Nov 17 2004 - gekker@suse.de +- Update version to 2.5.5. +* Tue Oct 26 2004 - mmj@suse.de +- locale rename no to nb +* Wed Oct 20 2004 - ro@suse.de +- make specfile rpm3-save +* Mon Sep 27 2004 - sbrabec@suse.cz +- Added work-around for GTK_PATH bi-arch problems (#45386). +* Mon Sep 06 2004 - meissner@suse.de +- Added ico overflow security patch, CAN-2004-0788. +* Tue Aug 31 2004 - dave@suse.de +- Added gtk2-cancel-rename.patch, ximian #59669 +* Fri Aug 27 2004 - federico@ximian.com +- Removed stray g_print() from gtk-xpm-secfix.dif; normalized the patch +* Thu Aug 26 2004 - federico@ximian.com +- Updated to gtk+-2.4.9 +- Normalized gtk+-strict-aliasing.patch +* Tue Aug 24 2004 - hhetter@suse.de +- added security patch for XPM decoder (#44100) + CAN-2004-0782, CAN-2004-0783. +* Wed Aug 04 2004 - clahey@suse.de +- Added gtk2-esc-closes.patch from Federico. +* Fri Jun 04 2004 - clahey@suse.de +- Fixed filesel patch to just go directly to Desktop. +* Tue Apr 27 2004 - sbrabec@suse.cz +- Fixed gtk64.patch. +* Mon Apr 26 2004 - sbrabec@suse.cz +- Added empty /opt/gnome/%%_lib/gtk-2.0/2.4.0/filesystems to filelist. +* Wed Apr 21 2004 - sbrabec@suse.cz +- Fixed strict aliasing, undefined reference and incompatible type + warnings. +* Thu Apr 15 2004 - sbrabec@suse.cz +- Updated to version 2.4.0 (GNOME 2.6). +- Removed obsolete patches. +* Thu Apr 01 2004 - sbrabec@suse.cz +- Set GTK_PATH to simplify integration of /usr/local binaries. +* Mon Mar 15 2004 - sbrabec@suse.cz +- FHS 2.3 fix (mandir, infodir, #35821). +* Thu Mar 11 2004 - sbrabec@suse.cz +- Use SuSEconfig biarch wrapper and identical filename for all + platforms. +- Include README.SuSE about biarch problems. +* Fri Mar 05 2004 - hhetter@suse.de +- apply reworked patch gtk2-filesel-navbuttons.patch: + Default to ~/Desktop +* Tue Mar 02 2004 - sbrabec@suse.cz +- Bi-arch work-arounds to prevent 32/64 bit conflicts (bug #33705). + For more see http://bugzilla.gnome.org/show_bug.cgi?id=129540 +* Mon Mar 01 2004 - sbrabec@suse.cz +- Fixed focus loop in gtk_socket_focus() (#33810). + Fixes 100%% CPU load problem in Notification Area Applet. + http://bugzilla.gnome.org/show_bug.cgi?id=122327 +- Build with -fno-strict-aliasing. +* Thu Feb 26 2004 - hhetter@suse.de +- applied ximian patches +* Mon Feb 23 2004 - sbrabec@suse.cz +- Fixed AC_DEFUN underquoting. +* Sat Jan 10 2004 - adrian@suse.de +- add %%run_ldconfig and %%defattr +* Thu Jan 08 2004 - ro@suse.de +- fix build with current freetype +* Wed Nov 05 2003 - hhetter@suse.de +- added xfree86-devel to Requires for the devel subpackage +* Fri Oct 10 2003 - sbrabec@suse.cz +- Updated to version 2.2.4. +* Thu Aug 28 2003 - sbrabec@suse.cz +- Updated to version 2.2.3. +* Thu Jul 24 2003 - hhetter@suse.de +- fix SuSEconfig.gtk2 query paths +* Wed Jul 16 2003 - sbrabec@suse.cz +- SuSEconfig.gtk2: Fixed paths to query binaries. +- Added empty directory for immodules. +* Mon Jul 14 2003 - sbrabec@suse.cz +- GNOME prefix change to /opt/gnome. +* Thu Jul 10 2003 - sbrabec@suse.cz +- Worked around linking problems on ppc64 (#27837). +* Tue Jun 24 2003 - sbrabec@suse.cz +- Created empty directory for engines and modules. +* Thu Jun 12 2003 - sbrabec@suse.cz +- Updated to version 2.2.2. +- Fixed directory packaging. +* Wed May 28 2003 - sbrabec@suse.cz +- Include manpage to devel package. +* Wed May 28 2003 - ro@suse.de +- remove unpackaged files from buildroot +* Thu May 22 2003 - sbrabec@suse.cz +- Fixed typo in Requires for -devel package (#27025). +* Wed May 14 2003 - sbrabec@suse.cz +- Sync -devel Requires with pkgconfig (bug #26876). +* Tue Mar 18 2003 - sbrabec@suse.cz +- Moved devel files to devel package (fixes bug #25163). +* Wed Mar 12 2003 - sbrabec@suse.cz +- Added gnome2 profile.d files containing required variables (fixes + theme problems for all session types). +* Wed Mar 12 2003 - sbrabec@suse.cz +- Fixed prefix clash for keyboard themes (fixes bug 25086). +* Mon Feb 10 2003 - ro@suse.de +- create /etc/gtk-2.0 in SuSEconfig.gtk2 if needed +* Thu Feb 06 2003 - sbrabec@suse.cz +- Updated to version 2.2.1. +- Include generated config files to %%files (with %%ghost). +* Wed Feb 05 2003 - sbrabec@suse.cz +- Removed -mminimal-toc from spec file, since it is now RPM default. +* Tue Jan 14 2003 - sbrabec@suse.cz +- Update SuSEconfig.gtk2 to create gdk-pixbuf.loaders. +* Mon Jan 13 2003 - sbrabec@suse.cz +- Added expat to neededforbuild (for new xft2). +* Thu Jan 09 2003 - sbrabec@suse.cz +- Updated to version 2.2.0. +- Updated automake patch. +* Mon Nov 25 2002 - hhetter@suse.de +- updated to version 2.0.9 + * Fix colormap refcounting, which caused + frequent metacity crashes + * GtkTreeView bug fixes + - Make TreeView reordering work on FreeBSD/Solaris + * Updated translations (be, ru, nl, fr) +* Mon Nov 11 2002 - hhetter@suse.de +- updated to version 2.0.8 + * Typo in io-gif.c that caused GIFs not to be loadable + by gdk-pixbuf. + * Incompatibility between the libtool used for generating + the tarball and older versions of binutils on Linux. +* Tue Nov 05 2002 - hhetter@suse.de +- updated to 2.0.7 bugfix release +- removed x86_64 patch as it's upstream, from Changelog: + * Fix some memory leaks in gdk-pixbuf + * Pixbuf loader fixes + * Support depth 8 StaticColor in GdkRGB + * Win32 fixes and improvements + * Improve tracking of toplevel focus state + * XIM input method fixes + * Fix the longstanding problem with <,> keys and XIM + * Fix GtkIMContextSimple for us-intl keyboards + * GtkIMContextSimple updates for Eastern Europe + * Fix the "key bindings randomly stop working" problem + * GtkTextView fixes + * GtkTreeView bugfixes + * GtkCombo fixes + * Fix 64-bit problem with GtkFundamentalType + * New and updated translations + * Many miscellaneous bug fixes +* Tue Oct 22 2002 - sbrabec@suse.cz +- Move /var/adm/SuSEconfig/run-gtk to %%post (fixes #20029). +* Wed Oct 09 2002 - sbrabec@suse.cz +- Added support for dead keyed Hungarian characters in iso88592.dif + characters. +* Tue Oct 01 2002 - sbrabec@suse.cz +- Added ISO-8859-2 supporting patch from CVS. +* Fri Sep 06 2002 - sf@suse.de +- added patch to avoid wrong va_arg handling + which leads to almost any GTK-Widget segfaulting +* Wed Aug 21 2002 - kukuk@suse.de +- Fix Requires entry +* Thu Aug 15 2002 - hhetter@suse.de +- branch gtk2-doc package +* Tue Aug 13 2002 - hhetter@suse.de +- added fbmanager and gdktarget build options (#17640) +- devel package requires main package +* Thu Aug 08 2002 - hhetter@suse.de +- use %%{version} tag in LIBRARY_PATH +- enable xim and shm +* Mon Aug 05 2002 - hhetter@suse.de +- updated to version 2.0.6 + * GtkTreeView bug fixes + * Fix problem with keynav and insensitive menu items + * Fix pixbuf_from_drawable() for LSB -> MSB + * Use GTK2_RC_FILES envvar instead of GTK_RC_FILES + * Focus check/radio buttons when activating with a mnemonic + * Cycle between multiple menubars with F10, not control-tab + * Misc bug fixes + * Build fixes for cross-compiling and portability + * Updated translations (bg,ca,da,fr,ja,ko,lv,no,pl,ru,sk,sv,vi) +* Tue Jul 30 2002 - jordi@suse.de +- added missing documentation for gtk2-devel +* Wed Jul 10 2002 - hhetter@suse.de +- fix requires of devel package, still pointed to GTK 1.x packages +* Mon Jun 17 2002 - jordi@suse.de +- Updated to version 2.0.5 + * Fix a wrong assertion that broke gtk_file_selection_set_filename(); + also another fix from testing this function with non-UTF-8 filenames. + * Fix incorrect property notification in GtkTextView. + Overview of Changes in GTK+ 2.0.4 + * Fix a number of types which were registered with the + type system with the wrong names + * Support missing data types in GtkList/TreeStore + * Misc GtkTreeView bug fixes + * Drag and drop fixes, including a stuck grab. + * Calculate screen size on win32 from the "logical DPI" + * Misc Win32 bug fixes. + * Fix theme changes for GtkMenu + * Fix gdk_pixbuf_from_drawable() for big endian. + * Fix encoding handling for gtk_file_selection_set_filename() + * Fix crash with DND, Qt and Metacity + * Fixes for DirectColor visuals + * Memory leak and UMR fixes + * Misc bug fixes + * Updated translations +* Thu Jun 13 2002 - ro@suse.de +- use libpng-devel-packages in nededforbuild +* Mon Jun 10 2002 - meissner@suse.de +- Need to use -mminimal-toc for ppc64. +* Tue Jun 04 2002 - ro@suse.de +- re-add libdir fixes +* Tue Jun 04 2002 - hhetter@suse.de +- updated to stable version 2.0.3: + * GtkTreeView fixes + * Improve GdkRGB support for low color depths + * Tweak F10 behavior to focus GtkMenuBar + * Include internal children when focusing + * Allow use of a pixmap as the drawable in gdk_pixmap_new(). + * GdkPixbuf fixes + * GtkMenu fixes. + * Misc input-method related fixes + * Fix stuck grab during DND. + * Remove in-bevel from scrolled-offscreen menus. + * Various plug/socket fixes + * Handle Xlib internal connections + * Many miscellaneous bug fixes. +* Tue Apr 09 2002 - hhetter@suse.de +- update to stable version 2.0.2 +* Tue Apr 09 2002 - ro@suse.de +- build with "atk-1.0" (was "atk") +* Fri Feb 01 2002 - hhetter@suse.de +- updated to 1.1.13 [gnome desktop alpha2] +- build with libpng-devel +* Fri Jan 25 2002 - hhetter@suse.de +- rename SuSEconfig.gtk to SuSEconfig.gtk2 +* Thu Jan 17 2002 - hhetter@suse.de +- new SuSEconfig.gtk script ensures that all input-method modules + are registered +* Fri Jan 11 2002 - hhetter@suse.de +- use version tag in patch filename +- updated to version 1.3.12: + * Fix problems with PNG saving + * Cleanups of deprecated usages + * Frame buffer port fixes + * GtkTextView bug fixes + * Menu behavior improvements + * Make focus line width configurable, focus color work on + dark themes. + * Add state argument to gtk_paint_focus() + * Added incremental revalidation to tree view, for better apparent speed + * Remove useless gtk_tree_view_column_cell_event() + * Display XIM status in a separate window + * Add menu of Unicode control characters to GtkEntry, GtkTextView + * Pass key releases along to input methods [Owen] +- specfile cleanup +* Thu Jan 10 2002 - hhetter@suse.de +- no longer require glib (1.x) +* Thu Jan 10 2002 - hhetter@suse.de +- include gdk-pixbuf's tools +- build with freetype2 support +* Tue Jan 08 2002 - hhetter@suse.de +- include links for default library names +* Wed Dec 12 2001 - hhetter@suse.de +- initial SuSE release for GNOME 2.0 platform +- added LIBRARY_PATH for broken libtool +- build with automake 1.5 diff --git a/gtk64.patch b/gtk64.patch new file mode 100644 index 0000000..febf4b8 --- /dev/null +++ b/gtk64.patch @@ -0,0 +1,175 @@ +--- gtk+-2.10.6/demos/Makefile.am ++++ gtk+-2.10.6/demos/Makefile.am +@@ -38,8 +38,8 @@ + pixbuf_csource=$(GDK_PIXBUF_CSOURCE) + pixbuf_csource_deps= + else +-pixbuf_csource=GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders $(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource +-pixbuf_csource_deps=$(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource $(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders ++pixbuf_csource=GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf64.loaders $(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource ++pixbuf_csource_deps=$(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource $(top_builddir)/gdk-pixbuf/gdk-pixbuf64.loaders + endif + + test-inline-pixbufs.h: $(pixbuf_csource_deps) apple-red.png gnome-foot.png +--- gtk+-2.10.6/gdk-pixbuf/Makefile.am ++++ gtk+-2.10.6/gdk-pixbuf/Makefile.am +@@ -359,7 +359,7 @@ + gdk-pixbuf-enum-types.c \ + gdk-pixbuf-marshal.h \ + gdk-pixbuf-marshal.c \ +- gdk-pixbuf.loaders ++ gdk-pixbuf64.loaders + + # + # gdk-pixbuf-enum-types.h +@@ -467,10 +467,10 @@ + install-data-hook: install-ms-lib install-def-file + @if $(RUN_QUERY_LOADER_TEST) ; then \ + $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/gtk-2.0 ; \ +- $(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders > $(DESTDIR)$(sysconfdir)/gtk-2.0/gdk-pixbuf.loaders ; \ ++ $(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders > $(DESTDIR)$(sysconfdir)/gtk-2.0/gdk-pixbuf64.loaders ; \ + else \ + echo "***" ; \ +- echo "*** Warning: gdk-pixbuf.loaders not built" ; \ ++ echo "*** Warning: gdk-pixbuf64.loaders not built" ; \ + echo "***" ; \ + echo "*** Generate this file manually on host" ; \ + echo "*** system using gdk-pixbuf-query-loaders" ; \ +@@ -478,25 +478,25 @@ + fi + + uninstall-local: uninstall-ms-lib uninstall-def-file +- rm -f $(DESTDIR)$(sysconfdir)/gtk-2.0/gdk-pixbuf.loaders ++ rm -f $(DESTDIR)$(sysconfdir)/gtk-2.0/gdk-pixbuf64.loaders + + if CROSS_COMPILING + else +-all-local: gdk-pixbuf.loaders ++all-local: gdk-pixbuf64.loaders + endif + + if BUILD_DYNAMIC_MODULES +-gdk-pixbuf.loaders: $(loader_LTLIBRARIES) gdk-pixbuf-query-loaders$(EXEEXT) ++gdk-pixbuf64.loaders: $(loader_LTLIBRARIES) gdk-pixbuf-query-loaders$(EXEEXT) + LOADERS=`echo libpixbufloader-*.la` ; \ + if test "x$$LOADERS" != 'xlibpixbufloader-*.la' ; then \ + echo "Writing a gdk-pixbuf.loader file to use when running examples before installing gdk-pixbuf."; \ +- $(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders $$LOADERS > ./gdk-pixbuf.loaders ;\ ++ $(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders $$LOADERS > ./gdk-pixbuf64.loaders ;\ + else \ + echo "No dynamic modules found; will use only static modules for uninstalled example programs."; \ +- touch gdk-pixbuf.loaders; \ ++ touch gdk-pixbuf64.loaders; \ + fi + else +-gdk-pixbuf.loaders: ++gdk-pixbuf64.loaders: + echo "No dynamic modules found; will use only static modules for uninstalled example programs."; \ +- touch gdk-pixbuf.loaders; ++ touch gdk-pixbuf64.loaders; + endif +--- gtk+-2.10.6/gdk-pixbuf/gdk-pixbuf-io.c ++++ gtk+-2.10.6/gdk-pixbuf/gdk-pixbuf-io.c +@@ -258,7 +258,7 @@ + { + /* This is an entry put there by gdk-pixbuf-query-loaders on the + * packager's system. On Windows a prebuilt GTK+ package can be +- * installed in a random location. The gdk-pixbuf.loaders file ++ * installed in a random location. The gdk-pixbuf64.loaders file + * distributed in such a package contains paths from the package + * builder's machine. Replace the build-time prefix with the + * installation prefix on this machine. +@@ -277,7 +277,7 @@ + gchar *result = g_strdup (g_getenv ("GDK_PIXBUF_MODULE_FILE")); + + if (!result) +- result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gdk-pixbuf.loaders", NULL); ++ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gdk-pixbuf64.loaders", NULL); + + return result; + } +--- gtk+-2.10.6/gtk/Makefile.am ++++ gtk+-2.10.6/gtk/Makefile.am +@@ -842,7 +842,7 @@ + + DEPS = $(gtktargetlib) $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la $(top_builddir)/gdk/$(gdktargetlib) + +-TEST_DEPS = $(DEPS) gtk.immodules ++TEST_DEPS = $(DEPS) gtk64.immodules + + LDADDS = \ + $(gtktargetlib) \ +@@ -1117,7 +1117,7 @@ + + gtkbuiltincache.h: @REBUILD@ stamp-icons + $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) +- GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders \ ++ GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf64.loaders \ + ./gtk-update-icon-cache --force --ignore-theme-index \ + --source builtin_icons stock-icons > gtkbuiltincache.h + +--- gtk+-2.10.6/gtk/gtkmodules.c ++++ gtk+-2.10.6/gtk/gtkmodules.c +@@ -69,7 +69,7 @@ + if (home_dir) + home_gtk_dir = g_build_filename (home_dir, ".gtk-2.0", NULL); + +- module_path_env = g_getenv ("GTK_PATH"); ++ module_path_env = g_getenv ("GTK_PATH64"); + exe_prefix = g_getenv ("GTK_EXE_PREFIX"); + + if (exe_prefix) +--- gtk+-2.10.6/gtk/gtkrc.c ++++ gtk+-2.10.6/gtk/gtkrc.c +@@ -447,7 +447,7 @@ + if (im_module_file) + result = g_strdup (im_module_file); + else +- result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL); ++ result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk64.immodules", NULL); + } + + return result; +--- gtk+-2.10.6/modules/input/Makefile.am ++++ gtk+-2.10.6/modules/input/Makefile.am +@@ -102,11 +102,11 @@ + @if $(RUN_QUERY_IMMODULES_TEST) ; then \ + echo $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/gtk-2.0 ; \ + $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/gtk-2.0 ; \ +- echo "$(top_builddir)/gtk/gtk-query-immodules-2.0 > $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules" ; \ +- $(top_builddir)/gtk/gtk-query-immodules-2.0 > $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules ; \ ++ echo "$(top_builddir)/gtk/gtk-query-immodules-2.0 > $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk64.immodules" ; \ ++ $(top_builddir)/gtk/gtk-query-immodules-2.0 > $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk64.immodules ; \ + else \ + echo "***" ; \ +- echo "*** Warning: gtk.immodules not built" ; \ ++ echo "*** Warning: gtk64.immodules not built" ; \ + echo "***" ; \ + echo "*** Generate this file manually on host" ; \ + echo "*** system using gtk-query-immodules-2.0" ; \ +@@ -114,7 +114,7 @@ + fi + + uninstall-local: +- rm -f $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules ++ rm -f $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk64.immodules + + module_LTLIBRARIES = \ + $(IM_XIM_MODULE) \ +@@ -129,12 +129,12 @@ + im-viqr.la \ + $(IM_IME_MODULE) + +-gtk.immodules: Makefile.am $(module_LTLIBRARIES) +- $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk.immodules ++gtk64.immodules: Makefile.am $(module_LTLIBRARIES) ++ $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk64.immodules + +-CLEANFILES = gtk.immodules ++CLEANFILES = gtk64.immodules + + if CROSS_COMPILING + else +-all-local: gtk.immodules ++all-local: gtk64.immodules + endif diff --git a/gtkrc b/gtkrc new file mode 100644 index 0000000..38fbd64 --- /dev/null +++ b/gtkrc @@ -0,0 +1,4 @@ + +gtk-theme-name = "Gilouche" +gtk-icon-theme-name = "Tango" +gtk-fallback-icon-theme = "gnome" diff --git a/gtktextview.c.diff b/gtktextview.c.diff new file mode 100644 index 0000000..3bde5ca --- /dev/null +++ b/gtktextview.c.diff @@ -0,0 +1,56 @@ +--- gtk/gtktextview.c ++++ gtk/gtktextview.c +@@ -5827,26 +5827,6 @@ + "allocate_child", + G_CALLBACK (gtk_text_view_child_allocated), + text_view); +- +- if (get_buffer (text_view)) +- gtk_text_layout_set_buffer (text_view->layout, get_buffer (text_view)); +- +- if ((GTK_WIDGET_HAS_FOCUS (text_view) && text_view->cursor_visible)) +- gtk_text_view_pend_cursor_blink (text_view); +- else +- gtk_text_layout_set_cursor_visible (text_view->layout, FALSE); +- +- ltr_context = gtk_widget_create_pango_context (GTK_WIDGET (text_view)); +- pango_context_set_base_dir (ltr_context, PANGO_DIRECTION_LTR); +- rtl_context = gtk_widget_create_pango_context (GTK_WIDGET (text_view)); +- pango_context_set_base_dir (rtl_context, PANGO_DIRECTION_RTL); +- +- gtk_text_layout_set_contexts (text_view->layout, ltr_context, rtl_context); +- +- g_object_unref (ltr_context); +- g_object_unref (rtl_context); +- +- gtk_text_view_check_keymap_direction (text_view); + + style = gtk_text_attributes_new (); + +@@ -5870,6 +5850,26 @@ + + gtk_text_attributes_unref (style); + ++ if (get_buffer (text_view)) ++ gtk_text_layout_set_buffer (text_view->layout, get_buffer (text_view)); ++ ++ if ((GTK_WIDGET_HAS_FOCUS (text_view) && text_view->cursor_visible)) ++ gtk_text_view_pend_cursor_blink (text_view); ++ else ++ gtk_text_layout_set_cursor_visible (text_view->layout, FALSE); ++ ++ ltr_context = gtk_widget_create_pango_context (GTK_WIDGET (text_view)); ++ pango_context_set_base_dir (ltr_context, PANGO_DIRECTION_LTR); ++ rtl_context = gtk_widget_create_pango_context (GTK_WIDGET (text_view)); ++ pango_context_set_base_dir (rtl_context, PANGO_DIRECTION_RTL); ++ ++ gtk_text_layout_set_contexts (text_view->layout, ltr_context, rtl_context); ++ ++ g_object_unref (ltr_context); ++ g_object_unref (rtl_context); ++ ++ gtk_text_view_check_keymap_direction (text_view); ++ + /* Set layout for all anchored children */ + + tmp_list = text_view->children; diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4