r26230 - in /desktop/experimental/gtk+3.0/debian: ./ patches/
pochu at users.alioth.debian.org
pochu at users.alioth.debian.org
Wed Jan 12 19:08:56 UTC 2011
Author: pochu
Date: Wed Jan 12 19:08:51 2011
New Revision: 26230
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=26230
Log:
+ Remove hack to build on PowerPC64. That port is dead, and if it's
+ Pass -O1 to the linker so dynamic loading is faster.
* d/patches/0001-stylecontext-Protect-the-cairo-contexts-with-cairo_s.patch
d/patches/0003-Fixed-assertions-in-gtk_cell_renderer_get_aligned_ar.patch
d/patches/0002-_gtk_cell_area_set_cell_data_func_with_proxy-set-the.patch
+ Backport patches from upstream git. They fix rendering issues and
assertion failures.
Added:
desktop/experimental/gtk+3.0/debian/patches/0001-stylecontext-Protect-the-cairo-contexts-with-cairo_s.patch
desktop/experimental/gtk+3.0/debian/patches/0002-_gtk_cell_area_set_cell_data_func_with_proxy-set-the.patch
desktop/experimental/gtk+3.0/debian/patches/0003-Fixed-assertions-in-gtk_cell_renderer_get_aligned_ar.patch
Modified:
desktop/experimental/gtk+3.0/debian/changelog
desktop/experimental/gtk+3.0/debian/patches/series
Modified: desktop/experimental/gtk+3.0/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gtk%2B3.0/debian/changelog?rev=26230&op=diff
==============================================================================
--- desktop/experimental/gtk+3.0/debian/changelog [utf-8] (original)
+++ desktop/experimental/gtk+3.0/debian/changelog [utf-8] Wed Jan 12 19:08:51 2011
@@ -46,9 +46,14 @@
stopped doing so.
* Switch to CDBS' flavours system.
* debian/rules:
- - Remove hack to build on PowerPC64. That port is dead, and if it's
+ + Remove hack to build on PowerPC64. That port is dead, and if it's
ever back, hopefully we won't need to workaround toolchain issues.
- - Pass -O1 to the linker so dynamic loading is faster.
+ + Pass -O1 to the linker so dynamic loading is faster.
+ * d/patches/0001-stylecontext-Protect-the-cairo-contexts-with-cairo_s.patch
+ d/patches/0003-Fixed-assertions-in-gtk_cell_renderer_get_aligned_ar.patch
+ d/patches/0002-_gtk_cell_area_set_cell_data_func_with_proxy-set-the.patch
+ + Backport patches from upstream git. They fix rendering issues and
+ assertion failures.
-- Emilio Pozuelo Monfort <pochu at debian.org> Sun, 02 Jan 2011 20:08:53 +0000
Added: desktop/experimental/gtk+3.0/debian/patches/0001-stylecontext-Protect-the-cairo-contexts-with-cairo_s.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gtk%2B3.0/debian/patches/0001-stylecontext-Protect-the-cairo-contexts-with-cairo_s.patch?rev=26230&op=file
==============================================================================
--- desktop/experimental/gtk+3.0/debian/patches/0001-stylecontext-Protect-the-cairo-contexts-with-cairo_s.patch (added)
+++ desktop/experimental/gtk+3.0/debian/patches/0001-stylecontext-Protect-the-cairo-contexts-with-cairo_s.patch [utf-8] Wed Jan 12 19:08:51 2011
@@ -1,0 +1,234 @@
+From 2b0b08a86155a9473b2a8b468263f95dd6b27eb4 Mon Sep 17 00:00:00 2001
+From: Benjamin Otte <otte at redhat.com>
+Date: Wed, 12 Jan 2011 11:36:32 +0100
+Subject: [PATCH 1/3] stylecontext: Protect the cairo contexts with cairo_save/cairo_restore()
+
+We don't want theme engines to mess up the context we are currently
+drawing with.
+---
+ gtk/gtkstylecontext.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 56 insertions(+), 0 deletions(-)
+
+diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
+index 9d9cdb2..1239991 100644
+--- a/gtk/gtkstylecontext.c
++++ b/gtk/gtkstylecontext.c
+@@ -3613,11 +3613,15 @@ gtk_render_check (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ store_animation_region (context, x, y, width, height);
+
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_check (priv->theming_engine, cr,
+ x, y, width, height);
++
++ cairo_restore (cr);
+ }
+
+ /**
+@@ -3659,11 +3663,15 @@ gtk_render_option (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ store_animation_region (context, x, y, width, height);
+
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_option (priv->theming_engine, cr,
+ x, y, width, height);
++
++ cairo_restore (cr);
+ }
+
+ /**
+@@ -3702,11 +3710,15 @@ gtk_render_arrow (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ store_animation_region (context, x, y, size, size);
+
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_arrow (priv->theming_engine, cr,
+ angle, x, y, size);
++
++ cairo_restore (cr);
+ }
+
+ /**
+@@ -3749,10 +3761,14 @@ gtk_render_background (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ store_animation_region (context, x, y, width, height);
+
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_background (priv->theming_engine, cr, x, y, width, height);
++
++ cairo_restore (cr);
+ }
+
+ /**
+@@ -3797,10 +3813,14 @@ gtk_render_frame (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ store_animation_region (context, x, y, width, height);
+
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_frame (priv->theming_engine, cr, x, y, width, height);
++
++ cairo_restore (cr);
+ }
+
+ /**
+@@ -3842,10 +3862,14 @@ gtk_render_expander (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ store_animation_region (context, x, y, width, height);
+
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_expander (priv->theming_engine, cr, x, y, width, height);
++
++ cairo_restore (cr);
+ }
+
+ /**
+@@ -3884,10 +3908,14 @@ gtk_render_focus (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ store_animation_region (context, x, y, width, height);
+
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_focus (priv->theming_engine, cr, x, y, width, height);
++
++ cairo_restore (cr);
+ }
+
+ /**
+@@ -3920,6 +3948,8 @@ gtk_render_layout (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ pango_layout_get_extents (layout, &extents, NULL);
+
+ store_animation_region (context,
+@@ -3930,6 +3960,8 @@ gtk_render_layout (GtkStyleContext *context,
+
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_layout (priv->theming_engine, cr, x, y, layout);
++
++ cairo_restore (cr);
+ }
+
+ /**
+@@ -3962,8 +3994,12 @@ gtk_render_line (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_line (priv->theming_engine, cr, x0, y0, x1, y1);
++
++ cairo_restore (cr);
+ }
+
+ /**
+@@ -4007,10 +4043,14 @@ gtk_render_slider (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ store_animation_region (context, x, y, width, height);
+
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_slider (priv->theming_engine, cr, x, y, width, height, orientation);
++
++ cairo_restore (cr);
+ }
+
+ /**
+@@ -4067,12 +4107,16 @@ gtk_render_frame_gap (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ store_animation_region (context, x, y, width, height);
+
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_frame_gap (priv->theming_engine, cr,
+ x, y, width, height, gap_side,
+ xy0_gap, xy1_gap);
++
++ cairo_restore (cr);
+ }
+
+ /**
+@@ -4116,10 +4160,14 @@ gtk_render_extension (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ store_animation_region (context, x, y, width, height);
+
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_extension (priv->theming_engine, cr, x, y, width, height, gap_side);
++
++ cairo_restore (cr);
+ }
+
+ /**
+@@ -4161,10 +4209,14 @@ gtk_render_handle (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ store_animation_region (context, x, y, width, height);
+
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_handle (priv->theming_engine, cr, x, y, width, height);
++
++ cairo_restore (cr);
+ }
+
+ /**
+@@ -4201,10 +4253,14 @@ gtk_render_activity (GtkStyleContext *context,
+ priv = context->priv;
+ engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine);
+
++ cairo_save (cr);
++
+ store_animation_region (context, x, y, width, height);
+
+ _gtk_theming_engine_set_context (priv->theming_engine, context);
+ engine_class->render_activity (priv->theming_engine, cr, x, y, width, height);
++
++ cairo_restore (cr);
+ }
+
+ /**
+--
+1.7.2.3
+
Added: desktop/experimental/gtk+3.0/debian/patches/0002-_gtk_cell_area_set_cell_data_func_with_proxy-set-the.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gtk%2B3.0/debian/patches/0002-_gtk_cell_area_set_cell_data_func_with_proxy-set-the.patch?rev=26230&op=file
==============================================================================
--- desktop/experimental/gtk+3.0/debian/patches/0002-_gtk_cell_area_set_cell_data_func_with_proxy-set-the.patch (added)
+++ desktop/experimental/gtk+3.0/debian/patches/0002-_gtk_cell_area_set_cell_data_func_with_proxy-set-the.patch [utf-8] Wed Jan 12 19:08:51 2011
@@ -1,0 +1,24 @@
+From aa1f58b731bfc38992eca2a07368b9907b4995ec Mon Sep 17 00:00:00 2001
+From: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>
+Date: Wed, 12 Jan 2011 14:33:27 +0100
+Subject: [PATCH 2/3] _gtk_cell_area_set_cell_data_func_with_proxy: set the proxy when creating a new CellInfo (#637965)
+
+---
+ gtk/gtkcellarea.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c
+index 0a94ca5..b9e74ff 100644
+--- a/gtk/gtkcellarea.c
++++ b/gtk/gtkcellarea.c
+@@ -3660,6 +3660,7 @@ _gtk_cell_area_set_cell_data_func_with_proxy (GtkCellArea *area,
+ else
+ {
+ info = cell_info_new ((GtkCellLayoutDataFunc)func, func_data, destroy);
++ info->proxy = proxy;
+
+ g_hash_table_insert (priv->cell_info, cell, info);
+ }
+--
+1.7.2.3
+
Added: desktop/experimental/gtk+3.0/debian/patches/0003-Fixed-assertions-in-gtk_cell_renderer_get_aligned_ar.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gtk%2B3.0/debian/patches/0003-Fixed-assertions-in-gtk_cell_renderer_get_aligned_ar.patch?rev=26230&op=file
==============================================================================
--- desktop/experimental/gtk+3.0/debian/patches/0003-Fixed-assertions-in-gtk_cell_renderer_get_aligned_ar.patch (added)
+++ desktop/experimental/gtk+3.0/debian/patches/0003-Fixed-assertions-in-gtk_cell_renderer_get_aligned_ar.patch [utf-8] Wed Jan 12 19:08:51 2011
@@ -1,0 +1,30 @@
+From 3492b1567de8d042d0a75b1caba01cf1e5b70f63 Mon Sep 17 00:00:00 2001
+From: Tristan Van Berkom <tristan.van.berkom at gmail.com>
+Date: Thu, 13 Jan 2011 01:12:33 +0900
+Subject: [PATCH 3/3] Fixed assertions in gtk_cell_renderer_get_aligned_area().
+
+The assertions here were not accounting for the possiblility of
+zero width visible renderers that are aligned completely to the
+right (i.e. renderers with no content set for a said row).
+---
+ gtk/gtkcellrenderer.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c
+index b2ef07b..b5e738a 100644
+--- a/gtk/gtkcellrenderer.c
++++ b/gtk/gtkcellrenderer.c
+@@ -1658,8 +1658,8 @@ gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell,
+ klass = GTK_CELL_RENDERER_GET_CLASS (cell);
+ klass->get_aligned_area (cell, widget, flags, cell_area, aligned_area);
+
+- g_assert (aligned_area->x >= cell_area->x && aligned_area->x < cell_area->x + cell_area->width);
+- g_assert (aligned_area->y >= cell_area->y && aligned_area->y < cell_area->y + cell_area->height);
++ g_assert (aligned_area->x >= cell_area->x && aligned_area->x <= cell_area->x + cell_area->width);
++ g_assert (aligned_area->y >= cell_area->y && aligned_area->y <= cell_area->y + cell_area->height);
+ g_assert ((aligned_area->x - cell_area->x) + aligned_area->width <= cell_area->width);
+ g_assert ((aligned_area->y - cell_area->y) + aligned_area->height <= cell_area->height);
+ }
+--
+1.7.2.3
+
Modified: desktop/experimental/gtk+3.0/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/gtk%2B3.0/debian/patches/series?rev=26230&op=diff
==============================================================================
--- desktop/experimental/gtk+3.0/debian/patches/series [utf-8] (original)
+++ desktop/experimental/gtk+3.0/debian/patches/series [utf-8] Wed Jan 12 19:08:51 2011
@@ -1,3 +1,6 @@
+0001-stylecontext-Protect-the-cairo-contexts-with-cairo_s.patch
+0002-_gtk_cell_area_set_cell_data_func_with_proxy-set-the.patch
+0003-Fixed-assertions-in-gtk_cell_renderer_get_aligned_ar.patch
001_static-linking-dont-query-immodules.patch
002_static-linking-dont-build-perf.patch
003_gdk.pc_privates.patch
More information about the pkg-gnome-commits
mailing list