summaryrefslogtreecommitdiffstats
path: root/meta/recipes-gnome/gtk+/gtk+-2.24.6
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-gnome/gtk+/gtk+-2.24.6')
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.24.6/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch30
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.24.6/cellrenderer-cairo.patch31
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.24.6/configurefix.patch87
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.24.6/doc-fixes.patch22
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.24.6/entry-cairo.patch105
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.24.6/hardcoded_libtool.patch33
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.24.6/no-demos.patch15
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.24.6/run-iconcache.patch23
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.24.6/toggle-font.diff102
-rw-r--r--meta/recipes-gnome/gtk+/gtk+-2.24.6/xsettings.patch20
10 files changed, 468 insertions, 0 deletions
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.6/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.6/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch
new file mode 100644
index 0000000..354f0ab
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.6/0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch
@@ -0,0 +1,30 @@
1From 69b9441eab2a7215509687dc22b48b6f212d22aa Mon Sep 17 00:00:00 2001
2From: Rob Bradford <rob@linux.intel.com>
3Date: Thu, 4 Jun 2009 15:43:20 +0100
4Subject: [PATCH] =?utf-8?q?bgo#584832=20=E2=80=93=20Duplicate=20the=20exec=20string=20returned=20by=20gtk=5Frecent=5Finfo=5Fget=5Fapplication=5Finfo?=
5MIME-Version: 1.0
6Content-Type: text/plain; charset=utf-8
7Content-Transfer-Encoding: 8bit
8
9This function states that the caller is responsible for freeing the string
10passed returned by reference. Unfortunately if you do this you get a crash
11since the internal value is returned without being duplicated.
12---
13 gtk/gtkrecentmanager.c | 2 +-
14 1 files changed, 1 insertions(+), 1 deletions(-)
15
16Upstream-Status: Pending
17
18Index: gtk+-2.21.2/gtk/gtkrecentmanager.c
19===================================================================
20--- gtk+-2.21.2.orig/gtk/gtkrecentmanager.c 2010-06-22 18:11:30.000000000 +0800
21+++ gtk+-2.21.2/gtk/gtkrecentmanager.c 2010-06-22 18:11:53.000000000 +0800
22@@ -1766,7 +1766,7 @@
23 }
24
25 if (app_exec)
26- *app_exec = ai->exec;
27+ *app_exec = g_strdup (ai->exec);
28
29 if (count)
30 *count = ai->count;
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.6/cellrenderer-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.6/cellrenderer-cairo.patch
new file mode 100644
index 0000000..ba89329
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.6/cellrenderer-cairo.patch
@@ -0,0 +1,31 @@
1Upstream-Status: Pending
2
3Index: gtk/gtkcellrenderer.c
4===================================================================
5--- gtk/gtkcellrenderer.c.orig 2010-06-22 17:21:22.000000000 +0800
6+++ gtk/gtkcellrenderer.c 2010-06-22 17:21:25.000000000 +0800
7@@ -566,6 +566,7 @@
8
9 if (cell->cell_background_set && !selected)
10 {
11+#ifdef USE_CAIRO_INTERNALLY
12 cairo_t *cr = gdk_cairo_create (window);
13
14 gdk_cairo_rectangle (cr, background_area);
15@@ -573,6 +574,16 @@
16 cairo_fill (cr);
17
18 cairo_destroy (cr);
19+#else
20+ GdkGC *gc;
21+
22+ gc = gdk_gc_new (window);
23+ gdk_gc_set_rgb_fg_color (gc, &priv->cell_background);
24+ gdk_draw_rectangle (window, gc, TRUE,
25+ background_area->x, background_area->y,
26+ background_area->width, background_area->height);
27+ g_object_unref (gc);
28+#endif
29 }
30
31 GTK_CELL_RENDERER_GET_CLASS (cell)->render (cell,
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.6/configurefix.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.6/configurefix.patch
new file mode 100644
index 0000000..2803691
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.6/configurefix.patch
@@ -0,0 +1,87 @@
1Upstream-Status: Inappropriate [configuration]
2
3Index: gtk+-2.21.2/docs/faq/Makefile.am
4===================================================================
5--- gtk+-2.21.2.orig/docs/faq/Makefile.am 2010-04-09 10:29:53.000000000 +0800
6+++ gtk+-2.21.2/docs/faq/Makefile.am 2010-06-22 17:39:24.000000000 +0800
7@@ -3,34 +3,36 @@
8 EXTRA_DIST += \
9 gtk-faq.sgml
10
11-if HAVE_DOCBOOK
12+
13 html:
14+if HAVE_DOCBOOK
15 if test -w $(srcdir); then \
16 (cd $(srcdir); \
17 db2html gtk-faq.sgml; \
18 test -d html && rm -r html; \
19 mv gtk-faq html); \
20 fi
21-
22-pdf:
23- if test -w $(srcdir); then \
24- (cd $(srcdir); db2pdf gtk-faq.sgml); \
25- fi
26-
27-dist-hook: html
28- cp -Rp $(srcdir)/html $(distdir)
29 else
30-html:
31 echo "***"
32 echo "*** Warning: FAQ not built"
33 echo "***"
34+endif
35
36 pdf:
37+if HAVE_DOCBOOK
38+ if test -w $(srcdir); then \
39+ (cd $(srcdir); db2pdf gtk-faq.sgml); \
40+ fi
41+else
42 echo "***"
43 echo "*** Warning: FAQ not built"
44 echo "***"
45+endif
46
47-dist-hook:
48+dist-hook: html
49+if HAVE_DOCBOOK
50+ cp -Rp $(srcdir)/html $(distdir)
51+else
52 echo "***"
53 echo "*** Warning: FAQ not built"
54 echo "*** DISTRIBUTION IS INCOMPLETE"
55Index: gtk+-2.21.2/gtk-doc.make
56===================================================================
57--- gtk+-2.21.2.orig/gtk-doc.make 2010-05-28 00:01:48.000000000 +0800
58+++ gtk+-2.21.2/gtk-doc.make 2010-06-22 17:39:24.000000000 +0800
59@@ -23,7 +23,7 @@
60
61 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
62
63-EXTRA_DIST = \
64+EXTRA_DIST += \
65 $(content_files) \
66 $(HTML_IMAGES) \
67 $(DOC_MAIN_SGML_FILE) \
68Index: gtk+-2.21.2/gtk/tests/Makefile.am
69===================================================================
70--- gtk+-2.21.2.orig/gtk/tests/Makefile.am 2010-06-10 20:53:46.000000000 +0800
71+++ gtk+-2.21.2/gtk/tests/Makefile.am 2010-06-22 17:39:24.000000000 +0800
72@@ -58,13 +58,13 @@
73 # this doesn't work in make distcheck, since running
74 # on a naked X server creates slightly different event
75 # sequences than running on a normal desktop
76-# TEST_PROGS += crossingevents
77+#TEST_PROGS += crossingevents
78 crossingevents_SOURCES = crossingevents.c
79 crossingevents_LDADD = $(progs_ldadd)
80
81 # this doesn't work in make distcheck, since it doesn't
82 # find file-chooser-test-dir
83-# TEST_PROGS += filechooser
84+#TEST_PROGS += filechooser
85 filechooser_SOURCES = filechooser.c pixbuf-init.c
86 filechooser_LDADD = $(progs_ldadd)
87
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.6/doc-fixes.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.6/doc-fixes.patch
new file mode 100644
index 0000000..74e479f
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.6/doc-fixes.patch
@@ -0,0 +1,22 @@
1There are issues building the gtk+ tutorial and faq documentation.
2Since they were removed in gtk+ upstream and are superfluous in
3embedded applications, just don't build them.
4
5Thanks to Joshua Lock for suggesting this approach.
6
7Signed-off-by: Scott Garman <scott.a.garman@intel.com>
8
9Upstream-Status: Inappropriate [embedded specific]
10
11diff -urN gtk+-2.22.1.orig/docs/Makefile.am gtk+-2.22.1/docs/Makefile.am
12--- gtk+-2.22.1.orig/docs/Makefile.am 2010-11-15 04:13:09.000000000 -0800
13+++ gtk+-2.22.1/docs/Makefile.am 2011-02-23 19:25:16.914815097 -0800
14@@ -1,7 +1,7 @@
15 ## Process this file with automake to produce Makefile.in
16 include $(top_srcdir)/Makefile.decl
17
18-SUBDIRS = tutorial faq reference tools
19+SUBDIRS = reference tools
20
21 EXTRA_DIST += \
22 defsformat.txt \
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.6/entry-cairo.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.6/entry-cairo.patch
new file mode 100644
index 0000000..3083b77
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.6/entry-cairo.patch
@@ -0,0 +1,105 @@
1Upstream-Status: Pending
2
3Index: gtk/gtkentry.c
4===================================================================
5RCS file: /cvs/gnome/gtk+/gtk/gtkentry.c,v
6retrieving revision 1.317
7diff -u -r1.317 gtkentry.c
8--- gtk/gtkentry.c 29 Jun 2006 09:18:05 -0000 1.317
9+++ gtk/gtkentry.c 2 Jul 2006 14:14:24 -0000
10@@ -3337,7 +3337,9 @@
11 if (GTK_WIDGET_DRAWABLE (entry))
12 {
13 PangoLayout *layout = gtk_entry_ensure_layout (entry, TRUE);
14+#ifdef USE_CAIRO_INTERNALLY
15 cairo_t *cr;
16+#endif
17 gint x, y;
18 gint start_pos, end_pos;
19
20@@ -3345,23 +3347,35 @@
21
22 get_layout_position (entry, &x, &y);
23
24+#ifdef USE_CAIRO_INTERNALLY
25 cr = gdk_cairo_create (entry->text_area);
26
27 cairo_move_to (cr, x, y);
28 gdk_cairo_set_source_color (cr, &widget->style->text [widget->state]);
29 pango_cairo_show_layout (cr, layout);
30+#else
31+ gdk_draw_layout (entry->text_area, widget->style->text_gc [widget->state],
32+ x, y,
33+ layout);
34+#endif
35
36 if (gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start_pos, &end_pos))
37 {
38 gint *ranges;
39 gint n_ranges, i;
40 PangoRectangle logical_rect;
41- GdkColor *selection_color, *text_color;
42 GtkBorder inner_border;
43+#ifdef USE_CAIRO_INTERNALLY
44+ GdkColor *selection_color, *text_color;
45+#else
46+ GdkGC *selection_gc, *text_gc;
47+ GdkRegion *clip_region;
48+#endif
49
50 pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
51 gtk_entry_get_pixel_ranges (entry, &ranges, &n_ranges);
52
53+#ifdef USE_CAIRO_INTERNALLY
54 if (GTK_WIDGET_HAS_FOCUS (entry))
55 {
56 selection_color = &widget->style->base [GTK_STATE_SELECTED];
57@@ -3390,11 +3404,46 @@
58 cairo_move_to (cr, x, y);
59 gdk_cairo_set_source_color (cr, text_color);
60 pango_cairo_show_layout (cr, layout);
61-
62+#else
63+ if (GTK_WIDGET_HAS_FOCUS (entry))
64+ {
65+ selection_gc = widget->style->base_gc [GTK_STATE_SELECTED];
66+ text_gc = widget->style->text_gc [GTK_STATE_SELECTED];
67+ }
68+ else
69+ {
70+ selection_gc = widget->style->base_gc [GTK_STATE_ACTIVE];
71+ text_gc = widget->style->text_gc [GTK_STATE_ACTIVE];
72+ }
73+
74+ clip_region = gdk_region_new ();
75+ for (i = 0; i < n_ranges; ++i)
76+ {
77+ GdkRectangle rect;
78+
79+ rect.x = inner_border.left - entry->scroll_offset + ranges[2 * i];
80+ rect.y = y;
81+ rect.width = ranges[2 * i + 1];
82+ rect.height = logical_rect.height;
83+
84+ gdk_draw_rectangle (entry->text_area, selection_gc, TRUE,
85+ rect.x, rect.y, rect.width, rect.height);
86+
87+ gdk_region_union_with_rect (clip_region, &rect);
88+ }
89+
90+ gdk_gc_set_clip_region (text_gc, clip_region);
91+ gdk_draw_layout (entry->text_area, text_gc,
92+ x, y,
93+ layout);
94+ gdk_gc_set_clip_region (text_gc, NULL);
95+ gdk_region_destroy (clip_region);
96+#endif
97 g_free (ranges);
98 }
99-
100+#ifdef USE_CAIRO_INTERNALLY
101 cairo_destroy (cr);
102+#endif
103 }
104 }
105
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.6/hardcoded_libtool.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.6/hardcoded_libtool.patch
new file mode 100644
index 0000000..e32ce3f
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.6/hardcoded_libtool.patch
@@ -0,0 +1,33 @@
1Upstream-Status: Inappropriate [embedded specific]
2
3Index: gtk+-2.23.2/configure.in
4===================================================================
5--- gtk+-2.23.2.orig/configure.in 2010-11-10 22:22:47.000000000 +0800
6+++ gtk+-2.23.2/configure.in 2010-11-25 13:32:40.000000000 +0800
7@@ -414,7 +414,7 @@
8 case $enable_explicit_deps in
9 auto)
10 export SED
11- deplibs_check_method=`(./libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
12+ deplibs_check_method=`(./$host_alias-libtool --config; echo 'eval echo \"$deplibs_check_method\"') | sh`
13 if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
14 enable_explicit_deps=yes
15 else
16@@ -773,7 +773,7 @@
17 dnl Now we check to see if our libtool supports shared lib deps
18 dnl (in a rather ugly way even)
19 if $dynworks; then
20- module_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
21+ module_libtool_config="${CONFIG_SHELL-/bin/sh} $host_alias-libtool --config"
22 module_deplibs_check=`$module_libtool_config | \
23 grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
24 sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
25@@ -1555,7 +1555,7 @@
26 # We are using gmodule-no-export now, but I'm leaving the stripping
27 # code in place for now, since pango and atk still require gmodule.
28 export SED
29-export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
30+export_dynamic=`($host_alias-libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
31 if test -n "$export_dynamic"; then
32 GDK_DEP_LIBS=`echo $GDK_DEP_LIBS | sed -e "s/$export_dynamic//"`
33 GTK_DEP_LIBS=`echo $GTK_DEP_LIBS | sed -e "s/$export_dynamic//"`
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.6/no-demos.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.6/no-demos.patch
new file mode 100644
index 0000000..abd348e
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.6/no-demos.patch
@@ -0,0 +1,15 @@
1Upstream-Status: Inappropriate [configuration]
2
3Index: gtk+-2.23.2/Makefile.am
4===================================================================
5--- gtk+-2.23.2.orig/Makefile.am 2010-11-10 20:34:42.000000000 +0800
6+++ gtk+-2.23.2/Makefile.am 2010-11-25 13:39:22.000000000 +0800
7@@ -1,7 +1,7 @@
8 ## Makefile.am for GTK+
9 include $(top_srcdir)/Makefile.decl
10
11-SRC_SUBDIRS = gdk gtk modules demos tests perf
12+SRC_SUBDIRS = gdk gtk modules tests perf
13 SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build
14
15 # require automake 1.4
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.6/run-iconcache.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.6/run-iconcache.patch
new file mode 100644
index 0000000..597ba32
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.6/run-iconcache.patch
@@ -0,0 +1,23 @@
1Upstream-Status: Inappropriate [configuration]
2
3Index: gtk+-2.21.2/gtk/Makefile.am
4===================================================================
5--- gtk+-2.21.2.orig/gtk/Makefile.am 2010-06-22 17:21:41.000000000 +0800
6+++ gtk+-2.21.2/gtk/Makefile.am 2010-06-22 17:28:12.000000000 +0800
7@@ -1376,11 +1376,11 @@
8 ./gtk-update-icon-cache
9 endif
10
11-gtkbuiltincache.h: @REBUILD@ stamp-icons
12- $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
13- $(gtk_update_icon_cache_program) --force --ignore-theme-index \
14- --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \
15- mv gtkbuiltincache.h.tmp gtkbuiltincache.h
16+#gtkbuiltincache.h: @REBUILD@ stamp-icons
17+# $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
18+# $(gtk_update_icon_cache_program) --force --ignore-theme-index \
19+# --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \
20+# mv gtkbuiltincache.h.tmp gtkbuiltincache.h
21
22 EXTRA_DIST += \
23 $(STOCK_ICONS) \
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.6/toggle-font.diff b/meta/recipes-gnome/gtk+/gtk+-2.24.6/toggle-font.diff
new file mode 100644
index 0000000..340d120
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.6/toggle-font.diff
@@ -0,0 +1,102 @@
1Upstream-Status: Pending
2
3Index: gtk/gtkcellrenderertoggle.c
4===================================================================
5--- gtk/gtkcellrenderertoggle.c.orig 2010-06-22 18:11:33.000000000 +0800
6+++ gtk/gtkcellrenderertoggle.c 2010-06-22 18:11:43.000000000 +0800
7@@ -71,6 +71,8 @@
8 PROP_INDICATOR_SIZE
9 };
10
11+/* This is a hard-coded default which promptly gets overridden by a size
12+ calculated from the font size. */
13 #define TOGGLE_WIDTH 13
14
15 static guint toggle_cell_signals[LAST_SIGNAL] = { 0 };
16@@ -80,8 +82,9 @@
17 typedef struct _GtkCellRendererTogglePrivate GtkCellRendererTogglePrivate;
18 struct _GtkCellRendererTogglePrivate
19 {
20- gint indicator_size;
21-
22+ gint indicator_size; /* This is the real size */
23+ gint override_size; /* This is the size set from the indicator-size property */
24+ GtkWidget *cached_widget;
25 guint inconsistent : 1;
26 };
27
28@@ -104,6 +107,7 @@
29 GTK_CELL_RENDERER (celltoggle)->ypad = 2;
30
31 priv->indicator_size = TOGGLE_WIDTH;
32+ priv->override_size = 0;
33 priv->inconsistent = FALSE;
34 }
35
36@@ -210,7 +214,7 @@
37 g_value_set_boolean (value, celltoggle->radio);
38 break;
39 case PROP_INDICATOR_SIZE:
40- g_value_set_int (value, priv->indicator_size);
41+ g_value_set_int (value, priv->override_size ? priv->override_size : priv->indicator_size);
42 break;
43 default:
44 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
45@@ -245,7 +249,7 @@
46 celltoggle->radio = g_value_get_boolean (value);
47 break;
48 case PROP_INDICATOR_SIZE:
49- priv->indicator_size = g_value_get_int (value);
50+ priv->override_size = g_value_get_int (value);
51 break;
52 default:
53 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
54@@ -273,6 +277,27 @@
55 }
56
57 static void
58+on_widget_style_set (GtkWidget *widget, GtkStyle *previous, gpointer user_data)
59+{
60+ GtkCellRendererTogglePrivate *priv = user_data;
61+ PangoContext *context;
62+ PangoFontMetrics *metrics;
63+ int height;
64+
65+ context = gtk_widget_get_pango_context (widget);
66+ metrics = pango_context_get_metrics (context,
67+ widget->style->font_desc,
68+ pango_context_get_language (context));
69+
70+ height = pango_font_metrics_get_ascent (metrics) +
71+ pango_font_metrics_get_descent (metrics);
72+
73+ pango_font_metrics_unref (metrics);
74+
75+ priv->indicator_size = PANGO_PIXELS (height * 0.85);
76+}
77+
78+static void
79 gtk_cell_renderer_toggle_get_size (GtkCellRenderer *cell,
80 GtkWidget *widget,
81 GdkRectangle *cell_area,
82@@ -287,6 +312,20 @@
83
84 priv = GTK_CELL_RENDERER_TOGGLE_GET_PRIVATE (cell);
85
86+ if (priv->override_size) {
87+ priv->indicator_size = priv->override_size;
88+ } else if (priv->cached_widget != widget) {
89+ if (priv->cached_widget) {
90+ g_object_remove_weak_pointer (widget, &priv->cached_widget);
91+ g_signal_handlers_disconnect_by_func (priv->cached_widget, on_widget_style_set, priv);
92+ }
93+ priv->cached_widget = widget;
94+ g_object_add_weak_pointer (widget, &priv->cached_widget);
95+ g_signal_connect (widget, "style-set", on_widget_style_set, priv);
96+
97+ on_widget_style_set (widget, NULL, priv);
98+ }
99+
100 calc_width = (gint) cell->xpad * 2 + priv->indicator_size;
101 calc_height = (gint) cell->ypad * 2 + priv->indicator_size;
102
diff --git a/meta/recipes-gnome/gtk+/gtk+-2.24.6/xsettings.patch b/meta/recipes-gnome/gtk+/gtk+-2.24.6/xsettings.patch
new file mode 100644
index 0000000..d0a970a
--- /dev/null
+++ b/meta/recipes-gnome/gtk+/gtk+-2.24.6/xsettings.patch
@@ -0,0 +1,20 @@
1Upstream-Status: Pending
2
3Index: gtk+-2.21.2/gdk/x11/gdkevents-x11.c
4===================================================================
5--- gtk+-2.21.2.orig/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:04.000000000 +0800
6+++ gtk+-2.21.2/gdk/x11/gdkevents-x11.c 2010-06-22 17:28:06.000000000 +0800
7@@ -3062,10 +3062,9 @@
8 {
9 GdkScreenX11 *screen = data;
10
11- if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent))
12- return GDK_FILTER_REMOVE;
13- else
14- return GDK_FILTER_CONTINUE;
15+ xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent);
16+
17+ return GDK_FILTER_CONTINUE;
18 }
19
20 static Bool