From 77cd1218bbd0760f674811eb748037deb4478db5 Mon Sep 17 00:00:00 2001
From: Marko Lindqvist <cazfi74@gmail.com>
Date: Fri, 23 Nov 2012 09:36:14 +0200
Subject: gtk+: update to upstream version 2.24.13

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 ...Duplicate-the-exec-string-returned-by-gtk.patch |  30 ++++++
 .../gtk+/gtk+-2.24.13/cellrenderer-cairo.patch     |  31 ++++++
 .../gtk+/gtk+-2.24.13/configure-nm.patch           |  16 ++++
 .../gtk+/gtk+-2.24.13/configurefix.patch           |  87 +++++++++++++++++
 .../gtk+/gtk+-2.24.13/doc-fixes.patch              |  22 +++++
 .../gtk+/gtk+-2.24.13/entry-cairo.patch            | 105 +++++++++++++++++++++
 .../gtk+/gtk+-2.24.13/hardcoded_libtool.patch      |  33 +++++++
 .../recipes-gnome/gtk+/gtk+-2.24.13/no-demos.patch |  15 +++
 .../gtk+/gtk+-2.24.13/run-iconcache.patch          |  23 +++++
 .../gtk+/gtk+-2.24.13/toggle-font.diff             | 102 ++++++++++++++++++++
 .../gtk+/gtk+-2.24.13/xsettings.patch              |  20 ++++
 ...Duplicate-the-exec-string-returned-by-gtk.patch |  30 ------
 .../gtk+/gtk+-2.24.8/cellrenderer-cairo.patch      |  31 ------
 .../gtk+/gtk+-2.24.8/configure-nm.patch            |  16 ----
 .../gtk+/gtk+-2.24.8/configurefix.patch            |  87 -----------------
 .../recipes-gnome/gtk+/gtk+-2.24.8/doc-fixes.patch |  22 -----
 .../gtk+/gtk+-2.24.8/entry-cairo.patch             | 105 ---------------------
 .../gtk+/gtk+-2.24.8/hardcoded_libtool.patch       |  33 -------
 meta/recipes-gnome/gtk+/gtk+-2.24.8/no-demos.patch |  15 ---
 .../gtk+/gtk+-2.24.8/run-iconcache.patch           |  23 -----
 .../gtk+/gtk+-2.24.8/toggle-font.diff              | 102 --------------------
 .../recipes-gnome/gtk+/gtk+-2.24.8/xsettings.patch |  20 ----
 meta/recipes-gnome/gtk+/gtk+_2.24.13.bb            |  56 +++++++++++
 meta/recipes-gnome/gtk+/gtk+_2.24.8.bb             |  56 -----------
 24 files changed, 540 insertions(+), 540 deletions(-)
 create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.13/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch
 create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.13/cellrenderer-cairo.patch
 create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.13/configure-nm.patch
 create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.13/configurefix.patch
 create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.13/doc-fixes.patch
 create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.13/entry-cairo.patch
 create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.13/hardcoded_libtool.patch
 create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.13/no-demos.patch
 create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.13/run-iconcache.patch
 create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.13/toggle-font.diff
 create mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.13/xsettings.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.8/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.8/cellrenderer-cairo.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.8/configure-nm.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.8/configurefix.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.8/doc-fixes.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.8/entry-cairo.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.8/hardcoded_libtool.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.8/no-demos.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.8/run-iconcache.patch
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.8/toggle-font.diff
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+-2.24.8/xsettings.patch
 create mode 100644 meta/recipes-gnome/gtk+/gtk+_2.24.13.bb
 delete mode 100644 meta/recipes-gnome/gtk+/gtk+_2.24.8.bb

(limited to 'meta/recipes-gnome/gtk+')

diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.13/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.13/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch
new file mode 100644
index 0000000000..354f0ab376
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.13/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch
@@ -0,0 +1,30 @@
+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(-)
+
+Upstream-Status: Pending
+
+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.24.13/cellrenderer-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.13/cellrenderer-cairo.patch
new file mode 100644
index 0000000000..ba893292d6
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.13/cellrenderer-cairo.patch
@@ -0,0 +1,31 @@
+Upstream-Status: Pending
+
+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.24.13/configure-nm.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.13/configure-nm.patch
new file mode 100644
index 0000000000..5f40508077
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.13/configure-nm.patch
@@ -0,0 +1,16 @@
+Upstream-Status: Pending
+https://bugzilla.gnome.org/show_bug.cgi?id=671515
+
+Signed-Off-By: Xiaofeng Yan <xiaofeng.yan@windriver.com>
+# Pick up ${NM} from the environment
+--- a/configure.in
++++ b/configure.in
+@@ -190,7 +190,7 @@
+ AC_SYS_LARGEFILE
+ 
+ AM_PROG_AS
+-AC_PATH_PROG(NM, nm, nm)
++AC_CHECK_TOOLS(NM, [$NM nm], nm)
+ 
+ dnl Initialize maintainer mode
+ AM_MAINTAINER_MODE
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.13/configurefix.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.13/configurefix.patch
new file mode 100644
index 0000000000..2803691246
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.13/configurefix.patch
@@ -0,0 +1,87 @@
+Upstream-Status: Inappropriate [configuration]
+
+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.24.13/doc-fixes.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.13/doc-fixes.patch
new file mode 100644
index 0000000000..74e479fd1b
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.13/doc-fixes.patch
@@ -0,0 +1,22 @@
+There are issues building the gtk+ tutorial and faq documentation.
+Since they were removed in gtk+ upstream and are superfluous in
+embedded applications, just don't build them.
+
+Thanks to Joshua Lock for suggesting this approach.
+
+Signed-off-by: Scott Garman <scott.a.garman@intel.com>
+
+Upstream-Status: Inappropriate [embedded specific]
+
+diff -urN gtk+-2.22.1.orig/docs/Makefile.am gtk+-2.22.1/docs/Makefile.am
+--- gtk+-2.22.1.orig/docs/Makefile.am	2010-11-15 04:13:09.000000000 -0800
++++ gtk+-2.22.1/docs/Makefile.am	2011-02-23 19:25:16.914815097 -0800
+@@ -1,7 +1,7 @@
+ ## Process this file with automake to produce Makefile.in
+ include $(top_srcdir)/Makefile.decl
+ 
+-SUBDIRS = tutorial faq reference tools
++SUBDIRS = reference tools
+ 
+ EXTRA_DIST += \
+ 	defsformat.txt			\
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.13/entry-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.13/entry-cairo.patch
new file mode 100644
index 0000000000..3083b77830
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.13/entry-cairo.patch
@@ -0,0 +1,105 @@
+Upstream-Status: Pending
+
+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.24.13/hardcoded_libtool.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.13/hardcoded_libtool.patch
new file mode 100644
index 0000000000..e32ce3fb1c
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.13/hardcoded_libtool.patch
@@ -0,0 +1,33 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+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.24.13/no-demos.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.13/no-demos.patch
new file mode 100644
index 0000000000..abd348ea99
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.13/no-demos.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Inappropriate [configuration]
+
+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.24.13/run-iconcache.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.13/run-iconcache.patch
new file mode 100644
index 0000000000..597ba32470
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.13/run-iconcache.patch
@@ -0,0 +1,23 @@
+Upstream-Status: Inappropriate [configuration]
+
+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.24.13/toggle-font.diff b/meta/recipes-gnome/gtk+/gtk+-2.24.13/toggle-font.diff
new file mode 100644
index 0000000000..340d12008b
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.13/toggle-font.diff
@@ -0,0 +1,102 @@
+Upstream-Status: Pending
+
+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.24.13/xsettings.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.13/xsettings.patch
new file mode 100644
index 0000000000..d0a970ad4d
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.13/xsettings.patch
@@ -0,0 +1,20 @@
+Upstream-Status: Pending
+
+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
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.8/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.8/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch
deleted file mode 100644
index 354f0ab376..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+-2.24.8/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-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(-)
-
-Upstream-Status: Pending
-
-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.24.8/cellrenderer-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.8/cellrenderer-cairo.patch
deleted file mode 100644
index ba893292d6..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+-2.24.8/cellrenderer-cairo.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Upstream-Status: Pending
-
-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.24.8/configure-nm.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.8/configure-nm.patch
deleted file mode 100644
index 5f40508077..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+-2.24.8/configure-nm.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Upstream-Status: Pending
-https://bugzilla.gnome.org/show_bug.cgi?id=671515
-
-Signed-Off-By: Xiaofeng Yan <xiaofeng.yan@windriver.com>
-# Pick up ${NM} from the environment
---- a/configure.in
-+++ b/configure.in
-@@ -190,7 +190,7 @@
- AC_SYS_LARGEFILE
- 
- AM_PROG_AS
--AC_PATH_PROG(NM, nm, nm)
-+AC_CHECK_TOOLS(NM, [$NM nm], nm)
- 
- dnl Initialize maintainer mode
- AM_MAINTAINER_MODE
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.8/configurefix.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.8/configurefix.patch
deleted file mode 100644
index 2803691246..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+-2.24.8/configurefix.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-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.24.8/doc-fixes.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.8/doc-fixes.patch
deleted file mode 100644
index 74e479fd1b..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+-2.24.8/doc-fixes.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-There are issues building the gtk+ tutorial and faq documentation.
-Since they were removed in gtk+ upstream and are superfluous in
-embedded applications, just don't build them.
-
-Thanks to Joshua Lock for suggesting this approach.
-
-Signed-off-by: Scott Garman <scott.a.garman@intel.com>
-
-Upstream-Status: Inappropriate [embedded specific]
-
-diff -urN gtk+-2.22.1.orig/docs/Makefile.am gtk+-2.22.1/docs/Makefile.am
---- gtk+-2.22.1.orig/docs/Makefile.am	2010-11-15 04:13:09.000000000 -0800
-+++ gtk+-2.22.1/docs/Makefile.am	2011-02-23 19:25:16.914815097 -0800
-@@ -1,7 +1,7 @@
- ## Process this file with automake to produce Makefile.in
- include $(top_srcdir)/Makefile.decl
- 
--SUBDIRS = tutorial faq reference tools
-+SUBDIRS = reference tools
- 
- EXTRA_DIST += \
- 	defsformat.txt			\
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.8/entry-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.8/entry-cairo.patch
deleted file mode 100644
index 3083b77830..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+-2.24.8/entry-cairo.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-Upstream-Status: Pending
-
-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.24.8/hardcoded_libtool.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.8/hardcoded_libtool.patch
deleted file mode 100644
index e32ce3fb1c..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+-2.24.8/hardcoded_libtool.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-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.24.8/no-demos.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.8/no-demos.patch
deleted file mode 100644
index abd348ea99..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+-2.24.8/no-demos.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-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.24.8/run-iconcache.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.8/run-iconcache.patch
deleted file mode 100644
index 597ba32470..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+-2.24.8/run-iconcache.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-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.24.8/toggle-font.diff b/meta/recipes-gnome/gtk+/gtk+-2.24.8/toggle-font.diff
deleted file mode 100644
index 340d12008b..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+-2.24.8/toggle-font.diff
+++ /dev/null
@@ -1,102 +0,0 @@
-Upstream-Status: Pending
-
-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.24.8/xsettings.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.8/xsettings.patch
deleted file mode 100644
index d0a970ad4d..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+-2.24.8/xsettings.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Upstream-Status: Pending
-
-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
diff --git a/meta/recipes-gnome/gtk+/gtk+_2.24.13.bb b/meta/recipes-gnome/gtk+/gtk+_2.24.13.bb
new file mode 100644
index 0000000000..b358b7f7cb
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+_2.24.13.bb
@@ -0,0 +1,56 @@
+require gtk+.inc
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
+                    file://gtk/gtk.h;endline=27;md5=c59e0b4490dd135a5726ebf851f9b17f \
+                    file://gdk/gdk.h;endline=27;md5=07db285ec208fb3e0bf7d861b0614202 \
+                    file://tests/testgtk.c;endline=27;md5=262db5db5f776f9863e56df31423e24c"
+SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.xz \
+           file://xsettings.patch \
+           file://run-iconcache.patch \
+           file://configure-nm.patch \
+           file://hardcoded_libtool.patch \
+           file://cellrenderer-cairo.patch;striplevel=0 \
+           file://toggle-font.diff;striplevel=0 \
+           file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \
+           file://doc-fixes.patch \
+	  "
+
+# TO MERGE
+#           file://entry-cairo.patch;striplevel=0
+#           file://filesystem-volumes.patch
+#           file://filechooser-props.patch
+#           file://filechooser-default.patch
+#           file://filechooser-sizefix.patch
+# temporary
+#           file://gtklabel-resize-patch
+#           file://menu-deactivate.patch
+#        file://combo-arrow-size.patch;striplevel=0
+#            file://configurefix.patch
+
+PR = "r1"
+
+SRC_URI[md5sum] = "e949406751df51e1e40e85628005a069"
+SRC_URI[sha256sum] = "35e1a01e46b02970b02ee9f299390d0aa57c1215ad2667bcd584b72f4ea6513d"
+
+EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups --disable-xinerama"
+
+LIBV = "2.10.0"
+
+PACKAGES_DYNAMIC += "^gtk-immodule-.* ^gtk-printbackend-.*"
+BBCLASSEXTEND = "native"
+RRECOMMENDS_${PN}_class-native = ""
+DEPENDS_class-native = "glib-2.0-native atk-native pango-native cairo-native gdk-pixbuf-native"
+
+python populate_packages_prepend () {
+    prologue = d.getVar("postinst_prologue", True)
+
+    gtk_libdir = d.expand('${libdir}/gtk-2.0/${LIBV}')
+    immodules_root = os.path.join(gtk_libdir, 'immodules')
+    printmodules_root = os.path.join(gtk_libdir, 'printbackends');
+
+    do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules')
+    do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s')
+
+    if (d.getVar('DEBIAN_NAMES', True)):
+        d.setVar('PKG_${PN}', '${MLPREFIX}libgtk-2.0')
+}
diff --git a/meta/recipes-gnome/gtk+/gtk+_2.24.8.bb b/meta/recipes-gnome/gtk+/gtk+_2.24.8.bb
deleted file mode 100644
index bbf765b7f0..0000000000
--- a/meta/recipes-gnome/gtk+/gtk+_2.24.8.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-require gtk+.inc
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
-                    file://gtk/gtk.h;endline=27;md5=c59e0b4490dd135a5726ebf851f9b17f \
-                    file://gdk/gdk.h;endline=27;md5=07db285ec208fb3e0bf7d861b0614202 \
-                    file://tests/testgtk.c;endline=27;md5=262db5db5f776f9863e56df31423e24c"
-SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \
-           file://xsettings.patch \
-           file://run-iconcache.patch \
-           file://configure-nm.patch \
-           file://hardcoded_libtool.patch \
-           file://cellrenderer-cairo.patch;striplevel=0 \
-           file://toggle-font.diff;striplevel=0 \
-           file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \
-           file://doc-fixes.patch \
-	  "
-
-# TO MERGE
-#           file://entry-cairo.patch;striplevel=0
-#           file://filesystem-volumes.patch
-#           file://filechooser-props.patch
-#           file://filechooser-default.patch
-#           file://filechooser-sizefix.patch
-# temporary
-#           file://gtklabel-resize-patch
-#           file://menu-deactivate.patch
-#        file://combo-arrow-size.patch;striplevel=0
-#            file://configurefix.patch
-
-PR = "r7"
-
-SRC_URI[md5sum] = "0413187f7e596aef00ccd1b54776ff03"
-SRC_URI[sha256sum] = "ac2325a65312922a6722a7c02a389f3f4072d79e13131485cc7b7226e2537043"
-
-EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups --disable-xinerama"
-
-LIBV = "2.10.0"
-
-PACKAGES_DYNAMIC += "^gtk-immodule-.* ^gtk-printbackend-.*"
-BBCLASSEXTEND = "native"
-RRECOMMENDS_${PN}_class-native = ""
-DEPENDS_class-native = "glib-2.0-native atk-native pango-native cairo-native gdk-pixbuf-native"
-
-python populate_packages_prepend () {
-    prologue = d.getVar("postinst_prologue", True)
-
-    gtk_libdir = d.expand('${libdir}/gtk-2.0/${LIBV}')
-    immodules_root = os.path.join(gtk_libdir, 'immodules')
-    printmodules_root = os.path.join(gtk_libdir, 'printbackends');
-
-    do_split_packages(d, immodules_root, '^im-(.*)\.so$', 'gtk-immodule-%s', 'GTK input module for %s', prologue + 'gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules')
-    do_split_packages(d, printmodules_root, '^libprintbackend-(.*)\.so$', 'gtk-printbackend-%s', 'GTK printbackend module for %s')
-
-    if (d.getVar('DEBIAN_NAMES', True)):
-        d.setVar('PKG_${PN}', '${MLPREFIX}libgtk-2.0')
-}
-- 
cgit v1.2.3