diff options
author | Zhai Edwin <edwin.zhai@intel.com> | 2010-11-22 14:26:56 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-01-27 21:52:01 +0000 |
commit | 7c9c78bebd074d72270adaa8baed860bf554ad82 (patch) | |
tree | e28a5c7033d9ee973c96674e733c592f9724be0a /meta/recipes-gnome/gtk+/gtk+-2.22.1 | |
parent | 8a6e8623b43a5b38546e0a8c96f473dba9b31eee (diff) | |
download | openembedded-core-7c9c78bebd074d72270adaa8baed860bf554ad82.tar.gz openembedded-core-7c9c78bebd074d72270adaa8baed860bf554ad82.tar.bz2 openembedded-core-7c9c78bebd074d72270adaa8baed860bf554ad82.zip |
gtk+: Update to 2.22.1
Remove disable-gio-png-sniff-test.diff as it alreay in upstream. gdk-pixbuf in
gtk+ is separated as another stand-alone package, so remove it.
In future need only pick up stable version(even number like 2.20.x, 2.22.x).
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Diffstat (limited to 'meta/recipes-gnome/gtk+/gtk+-2.22.1')
9 files changed, 428 insertions, 0 deletions
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.22.1/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch new file mode 100644 index 0000000000..ee55f9cc3b --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch @@ -0,0 +1,28 @@ +From 69b9441eab2a7215509687dc22b48b6f212d22aa Mon Sep 17 00:00:00 2001 +From: Rob Bradford <rob@linux.intel.com> +Date: Thu, 4 Jun 2009 15:43:20 +0100 +Subject: [PATCH] =?utf-8?q?bgo#584832=20=E2=80=93=20Duplicate=20the=20exec=20string=20returned=20by=20gtk=5Frecent=5Finfo=5Fget=5Fapplication=5Finfo?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +This function states that the caller is responsible for freeing the string +passed returned by reference. Unfortunately if you do this you get a crash +since the internal value is returned without being duplicated. +--- + gtk/gtkrecentmanager.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +Index: gtk+-2.21.2/gtk/gtkrecentmanager.c +=================================================================== +--- gtk+-2.21.2.orig/gtk/gtkrecentmanager.c 2010-06-22 18:11:30.000000000 +0800 ++++ gtk+-2.21.2/gtk/gtkrecentmanager.c 2010-06-22 18:11:53.000000000 +0800 +@@ -1766,7 +1766,7 @@ + } + + if (app_exec) +- *app_exec = ai->exec; ++ *app_exec = g_strdup (ai->exec); + + if (count) + *count = ai->count; diff --git a/meta/recipes-gnome/gtk+/gtk+-2.22.1/cellrenderer-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/cellrenderer-cairo.patch new file mode 100644 index 0000000000..92ce643125 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/cellrenderer-cairo.patch @@ -0,0 +1,29 @@ +Index: gtk/gtkcellrenderer.c +=================================================================== +--- gtk/gtkcellrenderer.c.orig 2010-06-22 17:21:22.000000000 +0800 ++++ gtk/gtkcellrenderer.c 2010-06-22 17:21:25.000000000 +0800 +@@ -566,6 +566,7 @@ + + if (cell->cell_background_set && !selected) + { ++#ifdef USE_CAIRO_INTERNALLY + cairo_t *cr = gdk_cairo_create (window); + + gdk_cairo_rectangle (cr, background_area); +@@ -573,6 +574,16 @@ + cairo_fill (cr); + + cairo_destroy (cr); ++#else ++ GdkGC *gc; ++ ++ gc = gdk_gc_new (window); ++ gdk_gc_set_rgb_fg_color (gc, &priv->cell_background); ++ gdk_draw_rectangle (window, gc, TRUE, ++ background_area->x, background_area->y, ++ background_area->width, background_area->height); ++ g_object_unref (gc); ++#endif + } + + GTK_CELL_RENDERER_GET_CLASS (cell)->render (cell, diff --git a/meta/recipes-gnome/gtk+/gtk+-2.22.1/configurefix.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/configurefix.patch new file mode 100644 index 0000000000..7f6c73be49 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/configurefix.patch @@ -0,0 +1,85 @@ +Index: gtk+-2.21.2/docs/faq/Makefile.am +=================================================================== +--- gtk+-2.21.2.orig/docs/faq/Makefile.am 2010-04-09 10:29:53.000000000 +0800 ++++ gtk+-2.21.2/docs/faq/Makefile.am 2010-06-22 17:39:24.000000000 +0800 +@@ -3,34 +3,36 @@ + EXTRA_DIST += \ + gtk-faq.sgml + +-if HAVE_DOCBOOK ++ + html: ++if HAVE_DOCBOOK + if test -w $(srcdir); then \ + (cd $(srcdir); \ + db2html gtk-faq.sgml; \ + test -d html && rm -r html; \ + mv gtk-faq html); \ + fi +- +-pdf: +- if test -w $(srcdir); then \ +- (cd $(srcdir); db2pdf gtk-faq.sgml); \ +- fi +- +-dist-hook: html +- cp -Rp $(srcdir)/html $(distdir) + else +-html: + echo "***" + echo "*** Warning: FAQ not built" + echo "***" ++endif + + pdf: ++if HAVE_DOCBOOK ++ if test -w $(srcdir); then \ ++ (cd $(srcdir); db2pdf gtk-faq.sgml); \ ++ fi ++else + echo "***" + echo "*** Warning: FAQ not built" + echo "***" ++endif + +-dist-hook: ++dist-hook: html ++if HAVE_DOCBOOK ++ cp -Rp $(srcdir)/html $(distdir) ++else + echo "***" + echo "*** Warning: FAQ not built" + echo "*** DISTRIBUTION IS INCOMPLETE" +Index: gtk+-2.21.2/gtk-doc.make +=================================================================== +--- gtk+-2.21.2.orig/gtk-doc.make 2010-05-28 00:01:48.000000000 +0800 ++++ gtk+-2.21.2/gtk-doc.make 2010-06-22 17:39:24.000000000 +0800 +@@ -23,7 +23,7 @@ + + TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) + +-EXTRA_DIST = \ ++EXTRA_DIST += \ + $(content_files) \ + $(HTML_IMAGES) \ + $(DOC_MAIN_SGML_FILE) \ +Index: gtk+-2.21.2/gtk/tests/Makefile.am +=================================================================== +--- gtk+-2.21.2.orig/gtk/tests/Makefile.am 2010-06-10 20:53:46.000000000 +0800 ++++ gtk+-2.21.2/gtk/tests/Makefile.am 2010-06-22 17:39:24.000000000 +0800 +@@ -58,13 +58,13 @@ + # this doesn't work in make distcheck, since running + # on a naked X server creates slightly different event + # sequences than running on a normal desktop +-# TEST_PROGS += crossingevents ++#TEST_PROGS += crossingevents + crossingevents_SOURCES = crossingevents.c + crossingevents_LDADD = $(progs_ldadd) + + # this doesn't work in make distcheck, since it doesn't + # find file-chooser-test-dir +-# TEST_PROGS += filechooser ++#TEST_PROGS += filechooser + filechooser_SOURCES = filechooser.c pixbuf-init.c + filechooser_LDADD = $(progs_ldadd) + diff --git a/meta/recipes-gnome/gtk+/gtk+-2.22.1/entry-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/entry-cairo.patch new file mode 100644 index 0000000000..3313e7f132 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/entry-cairo.patch @@ -0,0 +1,103 @@ +Index: gtk/gtkentry.c +=================================================================== +RCS file: /cvs/gnome/gtk+/gtk/gtkentry.c,v +retrieving revision 1.317 +diff -u -r1.317 gtkentry.c +--- gtk/gtkentry.c 29 Jun 2006 09:18:05 -0000 1.317 ++++ gtk/gtkentry.c 2 Jul 2006 14:14:24 -0000 +@@ -3337,7 +3337,9 @@ + if (GTK_WIDGET_DRAWABLE (entry)) + { + PangoLayout *layout = gtk_entry_ensure_layout (entry, TRUE); ++#ifdef USE_CAIRO_INTERNALLY + cairo_t *cr; ++#endif + gint x, y; + gint start_pos, end_pos; + +@@ -3345,23 +3347,35 @@ + + get_layout_position (entry, &x, &y); + ++#ifdef USE_CAIRO_INTERNALLY + cr = gdk_cairo_create (entry->text_area); + + cairo_move_to (cr, x, y); + gdk_cairo_set_source_color (cr, &widget->style->text [widget->state]); + pango_cairo_show_layout (cr, layout); ++#else ++ gdk_draw_layout (entry->text_area, widget->style->text_gc [widget->state], ++ x, y, ++ layout); ++#endif + + if (gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start_pos, &end_pos)) + { + gint *ranges; + gint n_ranges, i; + PangoRectangle logical_rect; +- GdkColor *selection_color, *text_color; + GtkBorder inner_border; ++#ifdef USE_CAIRO_INTERNALLY ++ GdkColor *selection_color, *text_color; ++#else ++ GdkGC *selection_gc, *text_gc; ++ GdkRegion *clip_region; ++#endif + + pango_layout_get_pixel_extents (layout, NULL, &logical_rect); + gtk_entry_get_pixel_ranges (entry, &ranges, &n_ranges); + ++#ifdef USE_CAIRO_INTERNALLY + if (GTK_WIDGET_HAS_FOCUS (entry)) + { + selection_color = &widget->style->base [GTK_STATE_SELECTED]; +@@ -3390,11 +3404,46 @@ + cairo_move_to (cr, x, y); + gdk_cairo_set_source_color (cr, text_color); + pango_cairo_show_layout (cr, layout); +- ++#else ++ if (GTK_WIDGET_HAS_FOCUS (entry)) ++ { ++ selection_gc = widget->style->base_gc [GTK_STATE_SELECTED]; ++ text_gc = widget->style->text_gc [GTK_STATE_SELECTED]; ++ } ++ else ++ { ++ selection_gc = widget->style->base_gc [GTK_STATE_ACTIVE]; ++ text_gc = widget->style->text_gc [GTK_STATE_ACTIVE]; ++ } ++ ++ clip_region = gdk_region_new (); ++ for (i = 0; i < n_ranges; ++i) ++ { ++ GdkRectangle rect; ++ ++ rect.x = inner_border.left - entry->scroll_offset + ranges[2 * i]; ++ rect.y = y; ++ rect.width = ranges[2 * i + 1]; ++ rect.height = logical_rect.height; ++ ++ gdk_draw_rectangle (entry->text_area, selection_gc, TRUE, ++ rect.x, rect.y, rect.width, rect.height); ++ ++ gdk_region_union_with_rect (clip_region, &rect); ++ } ++ ++ gdk_gc_set_clip_region (text_gc, clip_region); ++ gdk_draw_layout (entry->text_area, text_gc, ++ x, y, ++ layout); ++ gdk_gc_set_clip_region (text_gc, NULL); ++ gdk_region_destroy (clip_region); ++#endif + g_free (ranges); + } +- ++#ifdef USE_CAIRO_INTERNALLY + cairo_destroy (cr); ++#endif + } + } + diff --git a/meta/recipes-gnome/gtk+/gtk+-2.22.1/hardcoded_libtool.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/hardcoded_libtool.patch new file mode 100644 index 0000000000..7937ef2d07 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/hardcoded_libtool.patch @@ -0,0 +1,31 @@ +Index: gtk+-2.23.2/configure.in +=================================================================== +--- gtk+-2.23.2.orig/configure.in 2010-11-10 22:22:47.000000000 +0800 ++++ gtk+-2.23.2/configure.in 2010-11-25 13:32:40.000000000 +0800 +@@ -414,7 +414,7 @@ + case $enable_explicit_deps in + auto) + export SED +- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` ++ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh` + if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then + enable_explicit_deps=yes + else +@@ -773,7 +773,7 @@ + dnl Now we check to see if our libtool supports shared lib deps + dnl (in a rather ugly way even) + if $dynworks; then +- module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config" ++ module_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config" + module_deplibs_check=`$module_libtool_config | \ + grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \ + sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'` +@@ -1555,7 +1555,7 @@ + # We are using gmodule-no-export now, but I'm leaving the stripping + # code in place for now, since pango and atk still require gmodule. + export SED +-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` ++export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh` + if test -n "$export_dynamic"; then + GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"` + GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"` diff --git a/meta/recipes-gnome/gtk+/gtk+-2.22.1/no-demos.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/no-demos.patch new file mode 100644 index 0000000000..21700161ea --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/no-demos.patch @@ -0,0 +1,13 @@ +Index: gtk+-2.23.2/Makefile.am +=================================================================== +--- gtk+-2.23.2.orig/Makefile.am 2010-11-10 20:34:42.000000000 +0800 ++++ gtk+-2.23.2/Makefile.am 2010-11-25 13:39:22.000000000 +0800 +@@ -1,7 +1,7 @@ + ## Makefile.am for GTK+ + include $(top_srcdir)/Makefile.decl + +-SRC_SUBDIRS = gdk gtk modules demos tests perf ++SRC_SUBDIRS = gdk gtk modules tests perf + SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build + + # require automake 1.4 diff --git a/meta/recipes-gnome/gtk+/gtk+-2.22.1/run-iconcache.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/run-iconcache.patch new file mode 100644 index 0000000000..518875e6fd --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/run-iconcache.patch @@ -0,0 +1,21 @@ +Index: gtk+-2.21.2/gtk/Makefile.am +=================================================================== +--- gtk+-2.21.2.orig/gtk/Makefile.am 2010-06-22 17:21:41.000000000 +0800 ++++ gtk+-2.21.2/gtk/Makefile.am 2010-06-22 17:28:12.000000000 +0800 +@@ -1376,11 +1376,11 @@ + ./gtk-update-icon-cache + endif + +-gtkbuiltincache.h: @REBUILD@ stamp-icons +- $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST) +- $(gtk_update_icon_cache_program) --force --ignore-theme-index \ +- --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \ +- mv gtkbuiltincache.h.tmp gtkbuiltincache.h ++#gtkbuiltincache.h: @REBUILD@ stamp-icons ++# $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST) ++# $(gtk_update_icon_cache_program) --force --ignore-theme-index \ ++# --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \ ++# mv gtkbuiltincache.h.tmp gtkbuiltincache.h + + EXTRA_DIST += \ + $(STOCK_ICONS) \ diff --git a/meta/recipes-gnome/gtk+/gtk+-2.22.1/toggle-font.diff b/meta/recipes-gnome/gtk+/gtk+-2.22.1/toggle-font.diff new file mode 100644 index 0000000000..4853628c82 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/toggle-font.diff @@ -0,0 +1,100 @@ +Index: gtk/gtkcellrenderertoggle.c +=================================================================== +--- gtk/gtkcellrenderertoggle.c.orig 2010-06-22 18:11:33.000000000 +0800 ++++ gtk/gtkcellrenderertoggle.c 2010-06-22 18:11:43.000000000 +0800 +@@ -71,6 +71,8 @@ + PROP_INDICATOR_SIZE + }; + ++/* This is a hard-coded default which promptly gets overridden by a size ++ calculated from the font size. */ + #define TOGGLE_WIDTH 13 + + static guint toggle_cell_signals[LAST_SIGNAL] = { 0 }; +@@ -80,8 +82,9 @@ + typedef struct _GtkCellRendererTogglePrivate GtkCellRendererTogglePrivate; + struct _GtkCellRendererTogglePrivate + { +- gint indicator_size; +- ++ gint indicator_size; /* This is the real size */ ++ gint override_size; /* This is the size set from the indicator-size property */ ++ GtkWidget *cached_widget; + guint inconsistent : 1; + }; + +@@ -104,6 +107,7 @@ + GTK_CELL_RENDERER (celltoggle)->ypad = 2; + + priv->indicator_size = TOGGLE_WIDTH; ++ priv->override_size = 0; + priv->inconsistent = FALSE; + } + +@@ -210,7 +214,7 @@ + g_value_set_boolean (value, celltoggle->radio); + break; + case PROP_INDICATOR_SIZE: +- g_value_set_int (value, priv->indicator_size); ++ g_value_set_int (value, priv->override_size ? priv->override_size : priv->indicator_size); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); +@@ -245,7 +249,7 @@ + celltoggle->radio = g_value_get_boolean (value); + break; + case PROP_INDICATOR_SIZE: +- priv->indicator_size = g_value_get_int (value); ++ priv->override_size = g_value_get_int (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); +@@ -273,6 +277,27 @@ + } + + static void ++on_widget_style_set (GtkWidget *widget, GtkStyle *previous, gpointer user_data) ++{ ++ GtkCellRendererTogglePrivate *priv = user_data; ++ PangoContext *context; ++ PangoFontMetrics *metrics; ++ int height; ++ ++ context = gtk_widget_get_pango_context (widget); ++ metrics = pango_context_get_metrics (context, ++ widget->style->font_desc, ++ pango_context_get_language (context)); ++ ++ height = pango_font_metrics_get_ascent (metrics) + ++ pango_font_metrics_get_descent (metrics); ++ ++ pango_font_metrics_unref (metrics); ++ ++ priv->indicator_size = PANGO_PIXELS (height * 0.85); ++} ++ ++static void + gtk_cell_renderer_toggle_get_size (GtkCellRenderer *cell, + GtkWidget *widget, + GdkRectangle *cell_area, +@@ -287,6 +312,20 @@ + + priv = GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE (cell); + ++ if (priv->override_size) { ++ priv->indicator_size = priv->override_size; ++ } else if (priv->cached_widget != widget) { ++ if (priv->cached_widget) { ++ g_object_remove_weak_pointer (widget, &priv->cached_widget); ++ g_signal_handlers_disconnect_by_func (priv->cached_widget, on_widget_style_set, priv); ++ } ++ priv->cached_widget = widget; ++ g_object_add_weak_pointer (widget, &priv->cached_widget); ++ g_signal_connect (widget, "style-set", on_widget_style_set, priv); ++ ++ on_widget_style_set (widget, NULL, priv); ++ } ++ + calc_width = (gint) cell->xpad * 2 + priv->indicator_size; + calc_height = (gint) cell->ypad * 2 + priv->indicator_size; + diff --git a/meta/recipes-gnome/gtk+/gtk+-2.22.1/xsettings.patch b/meta/recipes-gnome/gtk+/gtk+-2.22.1/xsettings.patch new file mode 100644 index 0000000000..84231e9b91 --- /dev/null +++ b/meta/recipes-gnome/gtk+/gtk+-2.22.1/xsettings.patch @@ -0,0 +1,18 @@ +Index: gtk+-2.21.2/gdk/x11/gdkevents-x11.c +=================================================================== +--- gtk+-2.21.2.orig/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:04.000000000 +0800 ++++ gtk+-2.21.2/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:06.000000000 +0800 +@@ -3062,10 +3062,9 @@ + { + GdkScreenX11 *screen = data; + +- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent)) +- return GDK_FILTER_REMOVE; +- else +- return GDK_FILTER_CONTINUE; ++ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent); ++ ++ return GDK_FILTER_CONTINUE; + } + + static Bool |