diff --git a/.gitignore b/.gitignore
index 13415a6..2796ea7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,3 +27,4 @@ gtk+-2.90.5.tar.bz2
 /gtk+-3.1.90.tar.xz
 /gtk+-3.1.92.tar.xz
 /gtk+-3.2.0.tar.xz
+/gtk+-3.2.1.tar.xz
diff --git a/0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch b/0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch
deleted file mode 100644
index 9ed807b..0000000
--- a/0001-Fix-a-crash-in-gnome-terminal-when-using-a-composito.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 45498417c8405ad9ca3d8cd94940d6fb2702ec43 Mon Sep 17 00:00:00 2001
-From: Matthias Clasen <mclasen@redhat.com>
-Date: Fri, 12 Nov 2010 19:19:48 -0500
-Subject: [PATCH] Fix a crash in gnome-terminal when using a compositor
-
-In this case, gnome-terminal sets an RGBA visual on its window,
-and we need to be careful when creating the icon pixmap, to create
-the pixmap with the same depth as the visual, or we risk a BadMatch
-from XRenderCreatePicture deep inside cairo.
----
- gdk/x11/gdkwindow-x11.c |    6 ++++--
- 1 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
-index 9f54ddc..88d8510 100644
---- a/gdk/x11/gdkwindow-x11.c
-+++ b/gdk/x11/gdkwindow-x11.c
-@@ -278,14 +278,16 @@ gdk_x11_window_create_pixmap_surface (GdkWindow *window,
- {
-   cairo_surface_t *surface;
-   Pixmap pixmap;
-+  GdkVisual *visual;
- 
-+  visual = gdk_window_get_visual (window);
-   pixmap = XCreatePixmap (GDK_WINDOW_XDISPLAY (window),
-                           GDK_WINDOW_XID (window),
-                           width, height,
--                          DefaultDepthOfScreen (GDK_SCREEN_XSCREEN (GDK_WINDOW_SCREEN (window))));
-+                          gdk_visual_get_depth (visual));
-   surface = cairo_xlib_surface_create (GDK_WINDOW_XDISPLAY (window),
-                                        pixmap,
--                                       GDK_VISUAL_XVISUAL (gdk_window_get_visual (window)),
-+                                       GDK_VISUAL_XVISUAL (visual),
-                                        width, height);
-   attach_free_pixmap_handler (surface, GDK_WINDOW_DISPLAY (window), pixmap);
- 
--- 
-1.7.3.2
-
diff --git a/0001-Fix-another-GtkFixed-regression-in-gtk_fixed_forall.patch b/0001-Fix-another-GtkFixed-regression-in-gtk_fixed_forall.patch
deleted file mode 100644
index 4aa5d3c..0000000
--- a/0001-Fix-another-GtkFixed-regression-in-gtk_fixed_forall.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 54c97f3ba2358c60fcc32404b67716e44384fb52 Mon Sep 17 00:00:00 2001
-From: Matthias Clasen <mclasen@redhat.com>
-Date: Wed, 2 Feb 2011 00:40:02 -0500
-Subject: [PATCH 1/2] Fix another GtkFixed regression, in gtk_fixed_forall()
-
-b3f6f67c changed the loop from while() to for() in gtk_fixed_forall(),
-but that's wrong since the callback can have side-effects on the list,
-in case the current child gets removed. And that's the case when the
-widget is destroyed.
-
-Patch by Vincent Untz
-https://bugzilla.gnome.org/show_bug.cgi?id=641196
----
- gtk/gtkfixed.c |    4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/gtk/gtkfixed.c b/gtk/gtkfixed.c
-index fd92cd7..e453005 100644
---- a/gtk/gtkfixed.c
-+++ b/gtk/gtkfixed.c
-@@ -540,9 +540,11 @@ gtk_fixed_forall (GtkContainer *container,
-   GtkFixedChild *child;
-   GList *children;
- 
--  for (children = priv->children; children; children = children->next)
-+  children = priv->children;
-+  while (children)
-     {
-       child = children->data;
-+      children = children->next;
- 
-       (* callback) (child->widget, callback_data);
-     }
--- 
-1.7.3.5
-
diff --git a/0001-GtkGrid-Add-forgotten-RTL-flipping.patch b/0001-GtkGrid-Add-forgotten-RTL-flipping.patch
deleted file mode 100644
index 42dcd06..0000000
--- a/0001-GtkGrid-Add-forgotten-RTL-flipping.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 20ab58d79910d1829dadfbb717c354cf74a043b1 Mon Sep 17 00:00:00 2001
-From: Matthias Clasen <mclasen@redhat.com>
-Date: Wed, 30 Mar 2011 02:24:00 -0400
-Subject: [PATCH] GtkGrid: Add forgotten RTL flipping
-
-How did we manage to add a non-RTL savy container in GTK+ 3.0 ?
----
- gtk/gtkgrid.c    |    4 ++++
- tests/testgrid.c |    3 +++
- 2 files changed, 7 insertions(+), 0 deletions(-)
-
-diff --git a/gtk/gtkgrid.c b/gtk/gtkgrid.c
-index bd305f6..56f6c16 100644
---- a/gtk/gtkgrid.c
-+++ b/gtk/gtkgrid.c
-@@ -1207,6 +1207,10 @@ gtk_grid_request_allocate_children (GtkGridRequest *request)
-       child_allocation.width = MAX (1, width);
-       child_allocation.height = MAX (1, height);
- 
-+      if (gtk_widget_get_direction (GTK_WIDGET (request->grid)) == GTK_TEXT_DIR_RTL)
-+        child_allocation.x = allocation.x + allocation.width
-+                             - (child_allocation.x - allocation.x) - child_allocation.width;
-+
-       gtk_widget_size_allocate (child->widget, &child_allocation);
-     }
- }
-diff --git a/tests/testgrid.c b/tests/testgrid.c
-index a59aefe..f9e85bb 100644
---- a/tests/testgrid.c
-+++ b/tests/testgrid.c
-@@ -252,6 +252,9 @@ main (int argc, char *argv[])
- {
-   gtk_init (NULL, NULL);
- 
-+  if (g_getenv ("RTL"))
-+    gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL);
-+
-   simple_grid ();
-   text_grid ();
-   box_comparison ();
--- 
-1.7.4.2
-
diff --git a/0001-New-tooltip-style.patch b/0001-New-tooltip-style.patch
deleted file mode 100644
index c9335ed..0000000
--- a/0001-New-tooltip-style.patch
+++ /dev/null
@@ -1,327 +0,0 @@
-diff -up gtk+-2.91.3/gtk/gtktooltip.c.fresh-tooltips gtk+-2.91.3/gtk/gtktooltip.c
---- gtk+-2.91.3/gtk/gtktooltip.c.fresh-tooltips	2010-10-31 14:28:19.000000000 -0400
-+++ gtk+-2.91.3/gtk/gtktooltip.c	2010-11-01 14:12:41.027410023 -0400
-@@ -35,6 +35,9 @@
- #include "gtkalignment.h"
- #include "gtksizerequest.h"
- 
-+#ifdef GDK_WINDOWING_X11
-+#include "gdk/x11/gdkx.h"
-+#endif
- 
- /**
-  * SECTION:gtktooltip
-@@ -165,6 +168,7 @@ static void       gtk_tooltip_display_cl
- 						    GtkTooltip      *tooltip);
- static void       gtk_tooltip_set_last_window      (GtkTooltip      *tooltip,
- 						    GdkWindow       *window);
-+static void       update_shape                     (GtkTooltip      *tooltip);
- 
- 
- G_DEFINE_TYPE (GtkTooltip, gtk_tooltip, G_TYPE_OBJECT);
-@@ -180,6 +184,40 @@ gtk_tooltip_class_init (GtkTooltipClass 
- }
- 
- static void
-+on_composited_changed (GtkWidget  *window,
-+                       GtkTooltip *tooltip)
-+{
-+  update_shape (tooltip);
-+}
-+
-+static void
-+on_screen_changed (GtkWidget  *window,
-+                   GdkScreen  *previous,
-+                   GtkTooltip *tooltip)
-+{
-+  GdkScreen *screen;
-+  GdkVisual *visual;
-+
-+  screen = gtk_widget_get_screen (window);
-+
-+
-+  visual = NULL;
-+  if (gdk_screen_is_composited (screen))
-+    visual = gdk_screen_get_rgba_visual (screen);
-+  if (visual == NULL)
-+    visual = gdk_screen_get_system_visual (screen);
-+
-+  gtk_widget_set_visual (window, visual);
-+}
-+
-+static void
-+on_realized (GtkWidget  *window,
-+             GtkTooltip *tooltip)
-+{
-+  update_shape (tooltip);
-+}
-+
-+static void
- gtk_tooltip_init (GtkTooltip *tooltip)
- {
-   GtkStyle *style;
-@@ -199,8 +237,12 @@ gtk_tooltip_init (GtkTooltip *tooltip)
-   tooltip->last_window = NULL;
- 
-   tooltip->window = g_object_ref (gtk_window_new (GTK_WINDOW_POPUP));
-+
-+  on_screen_changed (tooltip->window, NULL, tooltip);
-+
-   gtk_window_set_type_hint (GTK_WINDOW (tooltip->window),
- 			    GDK_WINDOW_TYPE_HINT_TOOLTIP);
-+
-   gtk_widget_set_app_paintable (tooltip->window, TRUE);
-   gtk_window_set_resizable (GTK_WINDOW (tooltip->window), FALSE);
-   gtk_widget_set_name (tooltip->window, "gtk-tooltip");
-@@ -234,6 +276,13 @@ gtk_tooltip_init (GtkTooltip *tooltip)
-   gtk_box_pack_start (GTK_BOX (tooltip->box), tooltip->label,
- 		      FALSE, FALSE, 0);
- 
-+  g_signal_connect (tooltip->window, "composited-changed",
-+                    G_CALLBACK (on_composited_changed), tooltip);
-+  g_signal_connect (tooltip->window, "screen-changed",
-+                    G_CALLBACK (on_screen_changed), tooltip);
-+  g_signal_connect (tooltip->window, "realize",
-+                    G_CALLBACK (on_realized), tooltip);
-+
-   tooltip->custom_widget = NULL;
- }
- 
-@@ -583,19 +632,209 @@ gtk_tooltip_window_style_set (GtkTooltip
-   gtk_widget_queue_draw (tooltip->window);
- }
- 
-+static void
-+draw_round_rect (cairo_t *cr,
-+                 gdouble  aspect,
-+                 gdouble  x,
-+                 gdouble  y,
-+                 gdouble  corner_radius,
-+                 gdouble  width,
-+                 gdouble  height)
-+{
-+  gdouble radius = corner_radius / aspect;
-+
-+  cairo_move_to (cr, x + radius, y);
-+
-+  /* top-right, left of the corner */
-+  cairo_line_to (cr, x + width - radius, y);
-+
-+  /* top-right, below the corner */
-+  cairo_arc (cr,
-+             x + width - radius, y + radius, radius,
-+             -90.0f * G_PI / 180.0f, 0.0f * G_PI / 180.0f);
-+
-+  /* bottom-right, above the corner */
-+  cairo_line_to (cr, x + width, y + height - radius);
-+
-+  /* bottom-right, left of the corner */
-+  cairo_arc (cr,
-+             x + width - radius, y + height - radius, radius,
-+             0.0f * G_PI / 180.0f, 90.0f * G_PI / 180.0f);
-+
-+  /* bottom-left, right of the corner */
-+  cairo_line_to (cr, x + radius, y + height);
-+
-+  /* bottom-left, above the corner */
-+  cairo_arc (cr,
-+             x + radius, y + height - radius, radius,
-+             90.0f * G_PI / 180.0f, 180.0f * G_PI / 180.0f);
-+
-+  /* top-left, below the corner */
-+  cairo_line_to (cr, x, y + radius);
-+
-+  /* top-left, right of the corner */
-+  cairo_arc (cr,
-+             x + radius, y + radius, radius,
-+             180.0f * G_PI / 180.0f, 270.0f * G_PI / 180.0f);
-+
-+  cairo_close_path (cr);
-+}
-+
-+static void
-+fill_background (GtkWidget  *widget,
-+                 cairo_t    *cr)
-+{
-+  GdkColor color;
-+  gdouble  r, g, b;
-+  gint     radius;
-+  gdouble  background_alpha;
-+  GtkStyle *style;
-+  GtkAllocation allocation;
-+
-+  if (gdk_screen_is_composited (gtk_widget_get_screen (widget)))
-+    background_alpha = 0.90;
-+  else
-+    background_alpha = 1.0;
-+
-+  style = gtk_widget_get_style (widget);
-+
-+  radius = MIN (style->xthickness, style->ythickness);
-+  radius = MAX (radius, 1);
-+
-+  cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
-+  cairo_paint (cr);
-+  cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-+
-+  gtk_widget_get_allocation (widget, &allocation);
-+
-+  draw_round_rect (cr,
-+                   1.0, 0.5, 0.5, radius,
-+                   allocation.width - 1,
-+                   allocation.height - 1);
-+
-+  color = style->bg [GTK_STATE_NORMAL];
-+  r = (float)color.red / 65535.0;
-+  g = (float)color.green / 65535.0;
-+  b = (float)color.blue / 65535.0;
-+  cairo_set_source_rgba (cr, r, g, b, background_alpha);
-+  cairo_fill_preserve (cr);
-+
-+  color = style->bg [GTK_STATE_SELECTED];
-+  r = (float) color.red / 65535.0;
-+  g = (float) color.green / 65535.0;
-+  b = (float) color.blue / 65535.0;
-+
-+  cairo_set_source_rgba (cr, r, g, b, background_alpha);
-+  cairo_set_line_width (cr, 1.0);
-+  cairo_stroke (cr);
-+}
-+
-+static void
-+update_shape (GtkTooltip *tooltip)
-+{
-+  GdkScreen *screen;
-+  cairo_t *cr;
-+  cairo_surface_t *surface;
-+  cairo_region_t *region;
-+  gint width, height;
-+  gboolean new_style;
-+  gint radius;
-+  GtkStyle *style;
-+
-+  gtk_widget_style_get (tooltip->window, "new-tooltip-style", &new_style, NULL);
-+
-+  if (!new_style)
-+    {
-+      gtk_widget_shape_combine_region (tooltip->window, NULL);
-+     return;
-+    }
-+
-+  screen = gtk_widget_get_screen (tooltip->window);
-+  style = gtk_widget_get_style (tooltip->window);
-+
-+  gtk_window_get_size (GTK_WINDOW (tooltip->window), &width, &height);
-+
-+  if (gdk_screen_is_composited (screen))
-+    {
-+      const char *wm;
-+
-+      gtk_widget_shape_combine_region (tooltip->window, NULL);
-+#ifdef GDK_WINDOWING_X11
-+      /* This is a hack to keep the Metacity compositor from slapping a
-+       * non-shaped shadow around the shaped tooltip
-+       */
-+      if (!gtk_widget_get_mapped (tooltip->window))
-+        {
-+          wm = gdk_x11_screen_get_window_manager_name (screen);
-+          if (g_strcmp0 (wm, "Metacity") == 0)
-+            gtk_window_set_type_hint (GTK_WINDOW (tooltip->window),
-+                                     GDK_WINDOW_TYPE_HINT_DND);
-+        }
-+#endif
-+      return;
-+    }
-+
-+  radius = MIN (style->xthickness, style->ythickness);
-+  radius = MAX (radius, 1);
-+  surface = cairo_image_surface_create (CAIRO_FORMAT_A8, width, height);
-+  cr = cairo_create (surface);
-+  if (cairo_status (cr) == CAIRO_STATUS_SUCCESS)
-+    {
-+      cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
-+      cairo_paint (cr);
-+
-+      cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
-+      cairo_set_source_rgb (cr, 1.0, 1.0, 1.0);
-+      draw_round_rect (cr, 1.0, 0, 0, radius + 1, width, height);
-+      cairo_fill (cr);
-+      region = gdk_cairo_region_create_from_surface (surface);
-+      gtk_widget_shape_combine_region (tooltip->window, region);
-+      cairo_region_destroy (region);
-+    }
-+  cairo_destroy (cr);
-+  cairo_surface_destroy (surface);
-+}
-+
- static gboolean
- gtk_tooltip_paint_window (GtkTooltip *tooltip,
--                          cairo_t    *cr)
-+                          cairo_t    *context)
- {
--  gtk_paint_flat_box (gtk_widget_get_style (tooltip->window),
--		      cr,
--		      GTK_STATE_NORMAL,
--		      GTK_SHADOW_OUT,
--		      tooltip->window,
--		      "tooltip",
--		      0, 0,
--                      gtk_widget_get_allocated_width (tooltip->window),
--                      gtk_widget_get_allocated_height (tooltip->window));
-+  gboolean new_style;
-+
-+  gtk_widget_style_get (tooltip->window, "new-tooltip-style", &new_style, NULL);
-+
-+  if (new_style)
-+    {
-+      cairo_surface_t *surface;
-+      cairo_t         *cr;
-+
-+      cairo_set_operator (context, CAIRO_OPERATOR_SOURCE);
-+      surface = cairo_surface_create_similar (cairo_get_target (context),
-+                                              CAIRO_CONTENT_COLOR_ALPHA,
-+                                               gtk_widget_get_allocated_width (tooltip->window),
-+                                               gtk_widget_get_allocated_height (tooltip->window));
-+      cr = cairo_create (surface);
-+      fill_background (tooltip->window, cr);
-+      cairo_destroy (cr);
-+
-+      cairo_set_source_surface (context, surface, 0, 0);
-+      cairo_paint (context);
-+      cairo_surface_destroy (surface);
-+
-+      update_shape (tooltip);
-+    }
-+  else
-+    {
-+      gtk_paint_flat_box (gtk_widget_get_style (tooltip->window),
-+                           context,
-+                          GTK_STATE_NORMAL,
-+                          GTK_SHADOW_OUT,
-+                          tooltip->window,
-+                          "tooltip",
-+                          0, 0,
-+                           gtk_widget_get_allocated_width (tooltip->window),
-+                           gtk_widget_get_allocated_height (tooltip->window));
-+    }
- 
-   return FALSE;
- }
-diff -up gtk+-2.91.3/gtk/gtkwidget.c.fresh-tooltips gtk+-2.91.3/gtk/gtkwidget.c
---- gtk+-2.91.3/gtk/gtkwidget.c.fresh-tooltips	2010-11-01 09:17:21.000000000 -0400
-+++ gtk+-2.91.3/gtk/gtkwidget.c	2010-11-01 14:11:38.921410003 -0400
-@@ -3190,6 +3190,14 @@ gtk_widget_class_init (GtkWidgetClass *k
-                                                              1, G_MAXINT, 16,
-                                                              GTK_PARAM_READABLE));
- 
-+  gtk_widget_class_install_style_property (klass,
-+                                           g_param_spec_boolean ("new-tooltip-style",
-+                                                                 NULL,
-+                                                                 NULL,
-+                                                                 FALSE,
-+                                                                 GTK_PARAM_READABLE));
-+
-+
-   g_type_class_add_private (klass, sizeof (GtkWidgetPrivate));
- }
- 
diff --git a/buildable-regression.patch b/buildable-regression.patch
deleted file mode 100644
index 332ca90..0000000
--- a/buildable-regression.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c
-index d0ff6ca..3fd59ad 100644
---- a/gtk/gtkcelllayout.c
-+++ b/gtk/gtkcelllayout.c
-@@ -807,37 +807,35 @@ cell_packing_end_element (GMarkupParseContext *context,
-   CellPackingSubParserData *parser_data = (CellPackingSubParserData*)user_data;
-   GtkCellArea *area;
- 
--  /* Append the translated strings */
--  if (parser_data->string->len)
--    {
--      area = gtk_cell_layout_get_area (parser_data->cell_layout);
-+  area = gtk_cell_layout_get_area (parser_data->cell_layout);
- 
--      if (area)
-+  if (area)
-+    {
-+      /* translate the string */
-+      if (parser_data->string->len && parser_data->translatable)
- 	{
--	  if (parser_data->translatable)
--	    {
--	      gchar *translated;
--	      const gchar* domain;
--
--	      domain = gtk_builder_get_translation_domain (parser_data->builder);
--
--	      translated = _gtk_builder_parser_translate (domain,
--							  parser_data->context,
--							  parser_data->string->str);
--	      g_string_set_size (parser_data->string, 0);
--	      g_string_append (parser_data->string, translated);
--	    }
--
--	  gtk_cell_layout_buildable_set_cell_property (area, 
--						       parser_data->builder,
--						       parser_data->renderer,
--						       parser_data->cell_prop_name,
--						       parser_data->string->str);
-+	  gchar *translated;
-+	  const gchar* domain;
-+
-+	  domain = gtk_builder_get_translation_domain (parser_data->builder);
-+
-+	  translated = _gtk_builder_parser_translate (domain,
-+						      parser_data->context,
-+						      parser_data->string->str);
-+	  g_string_set_size (parser_data->string, 0);
-+	  g_string_append (parser_data->string, translated);
- 	}
--      else
--	g_warning ("%s does not have an internal GtkCellArea class and cannot apply child cell properties",
--		   g_type_name (G_OBJECT_TYPE (parser_data->cell_layout)));
-+
-+      if (parser_data->cell_prop_name)
-+	gtk_cell_layout_buildable_set_cell_property (area, 
-+						     parser_data->builder,
-+						     parser_data->renderer,
-+						     parser_data->cell_prop_name,
-+						     parser_data->string->str);
-     }
-+  else
-+    g_warning ("%s does not have an internal GtkCellArea class and cannot apply child cell properties",
-+	       g_type_name (G_OBJECT_TYPE (parser_data->cell_layout)));
- 
-   g_string_set_size (parser_data->string, 0);
-   g_free (parser_data->cell_prop_name);
-diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
-index 5bf6f4d..18f046c 100644
---- a/gtk/gtkcontainer.c
-+++ b/gtk/gtkcontainer.c
-@@ -643,30 +643,28 @@ attributes_end_element (GMarkupParseContext *context,
- {
-   PackingPropertiesData *parser_data = (PackingPropertiesData*)user_data;
- 
--  /* Append the translated strings */
--  if (parser_data->string->len)
-+  /* translate the string */
-+  if (parser_data->string->len && parser_data->translatable)
-     {
--      if (parser_data->translatable)
--	{
--	  gchar *translated;
--	  const gchar* domain;
--
--	  domain = gtk_builder_get_translation_domain (parser_data->builder);
--
--	  translated = _gtk_builder_parser_translate (domain,
--						      parser_data->context,
--						      parser_data->string->str);
--	  g_string_set_size (parser_data->string, 0);
--	  g_string_append (parser_data->string, translated);
--	}
--
--      gtk_container_buildable_set_child_property (parser_data->container,
--						  parser_data->builder,
--						  parser_data->child,
--						  parser_data->child_prop_name,
-+      gchar *translated;
-+      const gchar* domain;
-+
-+      domain = gtk_builder_get_translation_domain (parser_data->builder);
-+
-+      translated = _gtk_builder_parser_translate (domain,
-+						  parser_data->context,
- 						  parser_data->string->str);
-+      g_string_set_size (parser_data->string, 0);
-+      g_string_append (parser_data->string, translated);
-     }
- 
-+  if (parser_data->child_prop_name)
-+    gtk_container_buildable_set_child_property (parser_data->container,
-+						parser_data->builder,
-+						parser_data->child,
-+						parser_data->child_prop_name,
-+						parser_data->string->str);
-+
-   g_string_set_size (parser_data->string, 0);
-   g_free (parser_data->child_prop_name);
-   g_free (parser_data->context);
diff --git a/fix-gtk-show-uri-crash.patch b/fix-gtk-show-uri-crash.patch
deleted file mode 100644
index 928e268..0000000
--- a/fix-gtk-show-uri-crash.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 7e29fc5b421a049c2b88453232eddeefed9f1b7b Mon Sep 17 00:00:00 2001
-From: Cosimo Cecchi <cosimoc@gnome.org>
-Date: Thu, 13 Jan 2011 15:03:49 +0000
-Subject: gtkshow: don't call _get_display() on a NULL GdkScreen
-
-gtk_show_uri() is documented to accept a NULL screen to mean the default
-one. Calling gdk_screen_get_display() on a NULL object will cause
-segfaults.
----
-diff --git a/gtk/gtkshow.c b/gtk/gtkshow.c
-index ac3d1ac..ad396a2 100644
---- a/gtk/gtkshow.c
-+++ b/gtk/gtkshow.c
-@@ -63,10 +63,16 @@ gtk_show_uri (GdkScreen    *screen,
- {
-   GdkAppLaunchContext *context;
-   gboolean ret;
-+  GdkDisplay *display;
- 
-   g_return_val_if_fail (uri != NULL, FALSE);
- 
--  context = gdk_display_get_app_launch_context (gdk_screen_get_display (screen));
-+  if (screen != NULL)
-+    display = gdk_screen_get_display (screen);
-+  else
-+    display = gdk_display_get_default ();
-+
-+  context = gdk_display_get_app_launch_context (display);
-   gdk_app_launch_context_set_screen (context, screen);
-   gdk_app_launch_context_set_timestamp (context, timestamp);
- 
---
-cgit v0.8.3.1
diff --git a/gtk3-axes.patch b/gtk3-axes.patch
deleted file mode 100644
index b7b32c8..0000000
--- a/gtk3-axes.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up gtk+-3.0.1/gdk/gdkevents.c.axes gtk+-3.0.1/gdk/gdkevents.c
---- gtk+-3.0.1/gdk/gdkevents.c.axes	2011-02-26 19:18:56.899346816 -0500
-+++ gtk+-3.0.1/gdk/gdkevents.c	2011-02-26 19:19:07.460214786 -0500
-@@ -555,6 +555,8 @@ gdk_event_copy (const GdkEvent *event)
-       break;
- 
-     case GDK_BUTTON_PRESS:
-+    case GDK_2BUTTON_PRESS:
-+    case GDK_3BUTTON_PRESS:
-     case GDK_BUTTON_RELEASE:
-       if (event->button.axes)
-         new_event->button.axes = g_memdup (event->button.axes,
diff --git a/gtk3-build-fix.patch b/gtk3-build-fix.patch
deleted file mode 100644
index 4da6698..0000000
--- a/gtk3-build-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up gtk+-2.99.3/gtk/Makefile.in.build-fix gtk+-2.99.3/gtk/Makefile.in
---- gtk+-2.99.3/gtk/Makefile.in.build-fix	2011-02-02 00:37:00.362804590 -0500
-+++ gtk+-2.99.3/gtk/Makefile.in	2011-02-02 00:37:08.668700753 -0500
-@@ -2903,7 +2903,6 @@ stamp-icons: $(STOCK_ICONS)
- 	&& touch stamp-icons
- 
- gtkbuiltincache.h: @REBUILD@ stamp-icons
--	$(AM_V_at) $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
- 	$(AM_V_GEN) $(gtk_update_icon_cache_program) --quiet --force --ignore-theme-index		\
- 	   --source builtin_icons stock-icons > gtkbuiltincache.h.tmp &&        \
- 	mv gtkbuiltincache.h.tmp gtkbuiltincache.h
diff --git a/gtk3.spec b/gtk3.spec
index 16ba44c..6a01a31 100644
--- a/gtk3.spec
+++ b/gtk3.spec
@@ -9,13 +9,13 @@
 
 Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
 Name: gtk3
-Version: 3.2.0
+Version: 3.2.1
 Release: 1%{?dist}
 License: LGPLv2+
 Group: System Environment/Libraries
 URL: http://www.gtk.org
 #VCS: git:git://git.gnome.org/gtk+
-Source: http://download.gnome.org/sources/gtk+/3.1/gtk+-%{version}.tar.xz
+Source: http://download.gnome.org/sources/gtk+/3.2/gtk+-%{version}.tar.xz
 Source1: im-cedilla.conf
 
 BuildRequires: gnome-common autoconf automake intltool gettext
@@ -234,9 +234,15 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache
 %{_datadir}/gtk-doc
 
 %changelog
+* Fri Oct 14 2011 Matthias Clasen <mclasen@redhat.com> - 3.2.1-1
+- Update to 3.2.1
+
 * Mon Sep 26 2011 Ray <rstrode@redhat.com> - 3.2.0-1
 - Update to 3.2.0
 
+* Fri Sep 23 2011 Matthias Clasen <mclasen@redhat.com> - 3.1.92-2
+- Fix crashes when turning a11y on and off repeatedly
+
 * Mon Sep 19 2011 Matthias Clasen <mclasen@redhat.com> - 3.1.92-1
 - Update to 3.1.92
 
@@ -246,6 +252,12 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache
 * Mon Sep  5 2011 Matthias Clasen <mclasen@redhat.com> - 3.1.18-1
 - Update to 3.1.18
 
+* Tue Aug 30 2011 Matthias Clasen <mclasen@redhat.com> - 3.1.16-1
+- Update to 3.1.16
+
+* Tue Aug 16 2011 Matthias Clasen <mclasen@redhat.com> - 3.1.12-1
+- Update to 3.1.12
+
 * Sat Jul 23 2011 Matthias Clasen <mclasen@redhat.com> - 3.1.10-1
 - Update to 3.1.10
 
diff --git a/lower-gi-deps.patch b/lower-gi-deps.patch
deleted file mode 100644
index 5968dd6..0000000
--- a/lower-gi-deps.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From bf2a7ee1b6c17129861df2e9816d453d4870d5c8 Mon Sep 17 00:00:00 2001
-From: Colin Walters <walters@verbum.org>
-Date: Wed, 15 Sep 2010 02:01:00 +0000
-Subject: introspection: Only use 0.9.3 API
-
----
-diff --git a/configure.ac b/configure.ac
-index 71477e4..3d58578 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1534,7 +1534,7 @@ fi
- # GObject introspection
- ##################################################
- 
--GOBJECT_INTROSPECTION_CHECK([0.9.5])
-+GOBJECT_INTROSPECTION_CHECK([0.9.3])
- 
- ##################################################
- # Checks for gtk-doc and docbook-tools
-diff --git a/gdk/Makefile.am b/gdk/Makefile.am
-index 39242cf..dca2456 100644
---- a/gdk/Makefile.am
-+++ b/gdk/Makefile.am
-@@ -226,7 +226,7 @@ x11_introspection_files = 		\
-         x11/gdkx.h
- 
- GdkX11-3.0.gir: $(gdktargetlib) Gdk-3.0.gir Makefile
--GdkX11_3_0_gir_SCANNERFLAGS = --warn-all --identifier-prefix=Gdk --symbol-prefix=gdk
-+GdkX11_3_0_gir_SCANNERFLAGS = --warn-all --strip-prefix=Gdk
- GdkX11_3_0_gir_INCLUDES = Gio-2.0 Gdk-3.0 GdkPixbuf-2.0 Pango-1.0 xlib-2.0
- GdkX11_3_0_gir_LIBS = $(gdktargetlib)
- GdkX11_3_0_gir_FILES = $(x11_introspection_files)
---
-cgit v0.8.3.1
diff --git a/sources b/sources
index ad95a5f..8d06986 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-4f9816f3436ffa3bb885e14354b1fd6c  gtk+-3.2.0.tar.xz
+67a49ef2c03be47e2b6b988c8e8c392d  gtk+-3.2.1.tar.xz