[oe-commits] org.oe.dev gtk: add 2.12.0 from poky
koen commit
openembedded-commits at lists.openembedded.org
Sun Sep 16 08:23:53 UTC 2007
gtk: add 2.12.0 from poky
Author: koen at openembedded.org
Branch: org.openembedded.dev
Revision: 1673ab63aadd067594c1c894ed1a0ec027bce972
ViewMTN: http://monotone.openembedded.org/revision/info/1673ab63aadd067594c1c894ed1a0ec027bce972
Files:
1
packages/gtk+/gtk+-2.12.0
packages/gtk+/gtk+-2.12.0/cellrenderer-cairo.patch
packages/gtk+/gtk+-2.12.0/combo-arrow-size.patch
packages/gtk+/gtk+-2.12.0/disable-print.patch
packages/gtk+/gtk+-2.12.0/entry-cairo.patch
packages/gtk+/gtk+-2.12.0/gtklabel-resize-patch
packages/gtk+/gtk+-2.12.0/hardcoded_libtool.patch
packages/gtk+/gtk+-2.12.0/menu-deactivate.patch
packages/gtk+/gtk+-2.12.0/no-demos.patch
packages/gtk+/gtk+-2.12.0/pangoxft2.10.6.diff
packages/gtk+/gtk+-2.12.0/range-no-redraw.patch
packages/gtk+/gtk+-2.12.0/run-iconcache.patch
packages/gtk+/gtk+-2.12.0/scrolled-placement.patch
packages/gtk+/gtk+-2.12.0/toggle-font.diff
packages/gtk+/gtk+-2.12.0/xsettings.patch
packages/gtk+/gtk+.inc
packages/gtk+/gtk+_2.12.0.bb
Diffs:
#
# mt diff -rdc9d87eb82a7d4f2e7bc3b3ec52a07e59a001a6b -r1673ab63aadd067594c1c894ed1a0ec027bce972
#
#
#
# add_dir "packages/gtk+/gtk+-2.12.0"
#
# add_file "packages/gtk+/gtk+-2.12.0/cellrenderer-cairo.patch"
# content [f343e9c8fa9252834d1fc2d38498f7ca81027cf7]
#
# add_file "packages/gtk+/gtk+-2.12.0/combo-arrow-size.patch"
# content [86b154ddff681414b9ee93698f070af87eba8941]
#
# add_file "packages/gtk+/gtk+-2.12.0/disable-print.patch"
# content [15ba697401f4585005e6347d20498c7b1417f917]
#
# add_file "packages/gtk+/gtk+-2.12.0/entry-cairo.patch"
# content [7716bcd4fe95b61148fe31a6054081e08dfa616e]
#
# add_file "packages/gtk+/gtk+-2.12.0/gtklabel-resize-patch"
# content [f8a32fce3abbb76c766cc6906e0300f3b281cbeb]
#
# add_file "packages/gtk+/gtk+-2.12.0/hardcoded_libtool.patch"
# content [c9c51ebeaf32844e38b9cc0062ca09911a680f3a]
#
# add_file "packages/gtk+/gtk+-2.12.0/menu-deactivate.patch"
# content [e0d8b253f81a5a01dbf5ffb9cfadda1799d7a3af]
#
# add_file "packages/gtk+/gtk+-2.12.0/no-demos.patch"
# content [765d8c563c164194e2b075eb32f57ef54bbba098]
#
# add_file "packages/gtk+/gtk+-2.12.0/pangoxft2.10.6.diff"
# content [c646b9f34fcf6fe7f0ddfef6d3ae66dfe24da0ab]
#
# add_file "packages/gtk+/gtk+-2.12.0/range-no-redraw.patch"
# content [2a456a9d163cedfca69de0662b26ad7060a41827]
#
# add_file "packages/gtk+/gtk+-2.12.0/run-iconcache.patch"
# content [2ab8f280d83e22b887247404cd6d7ac1afc3ed37]
#
# add_file "packages/gtk+/gtk+-2.12.0/scrolled-placement.patch"
# content [7258aed311d562ad735d04a51494b529cf66483b]
#
# add_file "packages/gtk+/gtk+-2.12.0/toggle-font.diff"
# content [892becbc52bd83e40c849d6d81f6f25f5d1d36ed]
#
# add_file "packages/gtk+/gtk+-2.12.0/xsettings.patch"
# content [1492aa80fb7bcb9008296d469f4d55183c904d37]
#
# add_file "packages/gtk+/gtk+.inc"
# content [ffdca8e93dd38acb3bb2afdd28ab143a8438af91]
#
# add_file "packages/gtk+/gtk+_2.12.0.bb"
# content [4b06154f496fb45640853f54b964720268a461de]
#
============================================================
--- packages/gtk+/gtk+-2.12.0/cellrenderer-cairo.patch f343e9c8fa9252834d1fc2d38498f7ca81027cf7
+++ packages/gtk+/gtk+-2.12.0/cellrenderer-cairo.patch f343e9c8fa9252834d1fc2d38498f7ca81027cf7
@@ -0,0 +1,32 @@
+Index: gtk/gtkcellrenderer.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/gtkcellrenderer.c,v
+retrieving revision 1.55
+diff -u -r1.55 gtkcellrenderer.c
+--- gtk/gtkcellrenderer.c 14 May 2006 04:25:28 -0000 1.55
++++ gtk/gtkcellrenderer.c 30 Jun 2006 10:57:43 -0000
+@@ -551,6 +551,7 @@
+
+ if (cell->cell_background_set && !selected)
+ {
++#ifdef USE_CAIRO_INTERNALLY
+ cairo_t *cr = gdk_cairo_create (window);
+
+ gdk_cairo_rectangle (cr, background_area);
+@@ -558,6 +559,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,
============================================================
--- packages/gtk+/gtk+-2.12.0/combo-arrow-size.patch 86b154ddff681414b9ee93698f070af87eba8941
+++ packages/gtk+/gtk+-2.12.0/combo-arrow-size.patch 86b154ddff681414b9ee93698f070af87eba8941
@@ -0,0 +1,67 @@
+Index: gtk/gtkcombobox.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/gtkcombobox.c,v
+retrieving revision 1.185
+diff -u -p -r1.185 gtkcombobox.c
+--- gtk/gtkcombobox.c 12 Oct 2006 13:48:07 -0000 1.185
++++ gtk/gtkcombobox.c 1 Nov 2006 19:01:09 -0000
+@@ -756,6 +756,25 @@ gtk_combo_box_class_init (GtkComboBoxCla
+ FALSE,
+ GTK_PARAM_READABLE));
+
++ /**
++ * GtkComboBox:arrow-size:
++ *
++ * Sets the minimum size of the arrow in the combo box. Note
++ * that the arrow size is coupled to the font size, so in case
++ * a larger font is used, the arrow will be larger than set
++ * by arrow size.
++ *
++ * Since: 2.12
++ */
++ gtk_widget_class_install_style_property (widget_class,
++ g_param_spec_int ("arrow-size",
++ P_("Arrow Size"),
++ P_("The minimum size of the arrow in the combo box"),
++ 0,
++ G_MAXINT,
++ 15,
++ GTK_PARAM_READABLE));
++
+ g_type_class_add_private (object_class, sizeof (GtkComboBoxPrivate));
+ }
+
+@@ -1897,7 +1916,12 @@ gtk_combo_box_size_request (GtkWidget
+ {
+ gint width, height;
+ gint focus_width, focus_pad;
++ gint font_size;
++ gint arrow_size;
+ GtkRequisition bin_req;
++ PangoContext *context;
++ PangoFontMetrics *metrics;
++ PangoFontDescription *font_desc;
+
+ GtkComboBox *combo_box = GTK_COMBO_BOX (widget);
+
+@@ -1910,7 +1934,20 @@ gtk_combo_box_size_request (GtkWidget
+ gtk_widget_style_get (GTK_WIDGET (widget),
+ "focus-line-width", &focus_width,
+ "focus-padding", &focus_pad,
++ "arrow-size", &arrow_size,
+ NULL);
++
++ font_desc = GTK_BIN (widget)->child->style->font_desc;
++ context = gtk_widget_get_pango_context (widget);
++ metrics = pango_context_get_metrics (context, font_desc,
++ pango_context_get_language (context));
++ font_size = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) +
++ pango_font_metrics_get_descent (metrics));
++ pango_font_metrics_unref (metrics);
++
++ arrow_size = MAX (arrow_size, font_size);
++
++ gtk_widget_set_size_request (combo_box->priv->arrow, arrow_size, arrow_size);
+
+ if (!combo_box->priv->tree_view)
+ {
============================================================
--- packages/gtk+/gtk+-2.12.0/disable-print.patch 15ba697401f4585005e6347d20498c7b1417f917
+++ packages/gtk+/gtk+-2.12.0/disable-print.patch 15ba697401f4585005e6347d20498c7b1417f917
@@ -0,0 +1,26 @@
+--- gtk+-2.12.0/configure.in~ 2006-07-05 18:11:44.000000000 +0200
++++ gtk+-2.12.0/configure.in 2006-07-05 18:11:44.000000000 +0200
+@@ -1554,22 +1554 @@
+-AC_PATH_PROG(CUPS_CONFIG, cups-config, no)
+-if test "x$CUPS_CONFIG" != "xno"; then
+- CUPS_CFLAGS=`cups-config --cflags | sed 's/-O[0-9]*//' | sed 's/-m[^\t]*//g'`
+- CUPS_LIBS=`cups-config --libs`
+-
+- CUPS_API_VERSION=`cups-config --api-version`
+- CUPS_API_MAJOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $1}'`
+- CUPS_API_MINOR=`echo -n $CUPS_API_VERSION | awk -F. '{print $2}'`
+-
+- if test $CUPS_API_MAJOR -gt 1 -o \
+- $CUPS_API_MAJOR -eq 1 -a $CUPS_API_MINOR -ge 2; then
+- AC_DEFINE(HAVE_CUPS_API_1_2)
+- fi
+-
+- AC_SUBST(CUPS_API_MAJOR)
+- AC_SUBST(CUPS_API_MINOR)
+- AC_SUBST(CUPS_CFLAGS)
+- AC_SUBST(CUPS_LIBS)
+-
+- AC_CHECK_HEADER(cups/cups.h,,AC_MSG_ERROR([[*** Sorry, cups-config present but cups/cups.h missing.]]))
+-fi
+-AM_CONDITIONAL(HAVE_CUPS, test "x$CUPS_CONFIG" != "xno")
++AM_CONDITIONAL(HAVE_CUPS, false)
============================================================
--- packages/gtk+/gtk+-2.12.0/entry-cairo.patch 7716bcd4fe95b61148fe31a6054081e08dfa616e
+++ packages/gtk+/gtk+-2.12.0/entry-cairo.patch 7716bcd4fe95b61148fe31a6054081e08dfa616e
@@ -0,0 +1,103 @@
+Index: gtk/gtkentry.c
+===================================================================
+RCS file: /cvs/gnome/gtk+/gtk/gtkentry.c,v
+retrieving revision 1.317
+diff -u -r1.317 gtkentry.c
+--- gtk/gtkentry.c 29 Jun 2006 09:18:05 -0000 1.317
++++ gtk/gtkentry.c 2 Jul 2006 14:14:24 -0000
+@@ -3337,7 +3337,9 @@
+ if (GTK_WIDGET_DRAWABLE (entry))
+ {
+ PangoLayout *layout = gtk_entry_ensure_layout (entry, TRUE);
++#ifdef USE_CAIRO_INTERNALLY
+ cairo_t *cr;
++#endif
+ gint x, y;
+ gint start_pos, end_pos;
+
+@@ -3345,23 +3347,35 @@
+
+ get_layout_position (entry, &x, &y);
+
++#ifdef USE_CAIRO_INTERNALLY
+ cr = gdk_cairo_create (entry->text_area);
+
+ cairo_move_to (cr, x, y);
+ gdk_cairo_set_source_color (cr, &widget->style->text [widget->state]);
+ pango_cairo_show_layout (cr, layout);
++#else
++ gdk_draw_layout (entry->text_area, widget->style->text_gc [widget->state],
++ x, y,
++ layout);
++#endif
+
+ if (gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start_pos, &end_pos))
+ {
+ gint *ranges;
+ gint n_ranges, i;
+ PangoRectangle logical_rect;
+- GdkColor *selection_color, *text_color;
+ GtkBorder inner_border;
++#ifdef USE_CAIRO_INTERNALLY
++ GdkColor *selection_color, *text_color;
++#else
++ GdkGC *selection_gc, *text_gc;
++ GdkRegion *clip_region;
++#endif
+
+ pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
+ gtk_entry_get_pixel_ranges (entry, &ranges, &n_ranges);
+
++#ifdef USE_CAIRO_INTERNALLY
+ if (GTK_WIDGET_HAS_FOCUS (entry))
+ {
+ selection_color = &widget->style->base [GTK_STATE_SELECTED];
+@@ -3390,11 +3404,46 @@
+ cairo_move_to (cr, x, y);
+ gdk_cairo_set_source_color (cr, text_color);
+ pango_cairo_show_layout (cr, layout);
+-
++#else
++ if (GTK_WIDGET_HAS_FOCUS (entry))
++ {
++ selection_gc = widget->style->base_gc [GTK_STATE_SELECTED];
++ text_gc = widget->style->text_gc [GTK_STATE_SELECTED];
++ }
++ else
++ {
++ selection_gc = widget->style->base_gc [GTK_STATE_ACTIVE];
++ text_gc = widget->style->text_gc [GTK_STATE_ACTIVE];
++ }
++
++ clip_region = gdk_region_new ();
++ for (i = 0; i < n_ranges; ++i)
++ {
++ GdkRectangle rect;
++
++ rect.x = inner_border.left - entry->scroll_offset + ranges[2 * i];
++ rect.y = y;
++ rect.width = ranges[2 * i + 1];
++ rect.height = logical_rect.height;
++
++ gdk_draw_rectangle (entry->text_area, selection_gc, TRUE,
++ rect.x, rect.y, rect.width, rect.height);
++
++ gdk_region_union_with_rect (clip_region, &rect);
++ }
++
++ gdk_gc_set_clip_region (text_gc, clip_region);
++ gdk_draw_layout (entry->text_area, text_gc,
++ x, y,
++ layout);
++ gdk_gc_set_clip_region (text_gc, NULL);
++ gdk_region_destroy (clip_region);
++#endif
+ g_free (ranges);
+ }
+-
++#ifdef USE_CAIRO_INTERNALLY
+ cairo_destroy (cr);
++#endif
+ }
+ }
+
============================================================
--- packages/gtk+/gtk+-2.12.0/gtklabel-resize-patch f8a32fce3abbb76c766cc6906e0300f3b281cbeb
+++ packages/gtk+/gtk+-2.12.0/gtklabel-resize-patch f8a32fce3abbb76c766cc6906e0300f3b281cbeb
@@ -0,0 +1,10 @@
+--- gtk+-2.4.3/gtk/gtklabel.c~ 2004-06-11 13:50:34.000000000 +0100
++++ gtk+-2.4.3/gtk/gtklabel.c 2004-07-05 13:33:57.000000000 +0100
+@@ -1623,6 +1623,7 @@
+
+ /* We have to clear the layout, fonts etc. may have changed */
+ gtk_label_clear_layout (label);
++ gtk_widget_queue_resize (GTK_WIDGET (label));
+ }
+
+ static void
============================================================
--- packages/gtk+/gtk+-2.12.0/hardcoded_libtool.patch c9c51ebeaf32844e38b9cc0062ca09911a680f3a
+++ packages/gtk+/gtk+-2.12.0/hardcoded_libtool.patch c9c51ebeaf32844e38b9cc0062ca09911a680f3a
@@ -0,0 +1,29 @@
+--- /tmp/configure.in 2007-01-08 17:50:49.000000000 +0100
++++ gtk+-2.10.7/configure.in 2007-01-08 17:52:33.495251000 +0100
+@@ -371,7 +371,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
+- pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./libtool --config"
++ pixbuf_libtool_config="${CONFIG_SHELL-/bin/sh} ./$host_alias-libtool --config"
+ pixbuf_deplibs_check=`$pixbuf_libtool_config | \
+ grep '^[[a-z_]]*check[[a-z_]]*_method=[['\''"]]' | \
+ sed 's/.*[['\''"]]\(.*\)[['\''"]]$/\1/'`
+@@ -1611,7 +1611,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_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
+ GDK_PIXBUF_XLIB_DEP_LIBS=`echo $GDK_PIXBUF_XLIB_DEP_LIBS | sed -e "s/$export_dynamic//"`
============================================================
--- packages/gtk+/gtk+-2.12.0/menu-deactivate.patch e0d8b253f81a5a01dbf5ffb9cfadda1799d7a3af
+++ packages/gtk+/gtk+-2.12.0/menu-deactivate.patch e0d8b253f81a5a01dbf5ffb9cfadda1799d7a3af
@@ -0,0 +1,51 @@
+--- gtk+-2.10.0/gtk/gtkmenushell.c.orig 2006-07-05 17:17:34.000000000 +0200
++++ gtk+-2.10.0/gtk/gtkmenushell.c 2006-07-05 17:19:01.000000000 +0200
+@@ -42,7 +42,7 @@
+ #include "gtkintl.h"
+ #include "gtkalias.h"
+
+-#define MENU_SHELL_TIMEOUT 500
++#define MENU_SHELL_TIMEOUT 2000
+
+ #define PACK_DIRECTION(m) \
+ (GTK_IS_MENU_BAR (m) \
+@@ -203,6 +203,8 @@
+
+ G_DEFINE_TYPE (GtkMenuShell, gtk_menu_shell, GTK_TYPE_CONTAINER)
+
++static int last_crossing_time;
++
+ static void
+ gtk_menu_shell_class_init (GtkMenuShellClass *klass)
+ {
+@@ -517,6 +519,7 @@
+ gtk_grab_add (GTK_WIDGET (menu_shell));
+ menu_shell->have_grab = TRUE;
+ menu_shell->active = TRUE;
++ last_crossing_time = 0;
+ }
+ }
+
+@@ -669,6 +672,13 @@
+ menu_shell->activate_time = 0;
+ deactivate = FALSE;
+ }
++
++ if (last_crossing_time != 0
++ && ((event->time - last_crossing_time) < 500))
++ {
++ last_crossing_time = 0;
++ deactivate = FALSE;
++ }
+
+ if (deactivate)
+ {
+@@ -716,6 +726,8 @@
+ {
+ menu_item = gtk_get_event_widget ((GdkEvent*) event);
+
++ last_crossing_time = event->time;
++
+ if (!menu_item ||
+ (GTK_IS_MENU_ITEM (menu_item) &&
+ !_gtk_menu_item_is_selectable (menu_item)))
============================================================
--- packages/gtk+/gtk+-2.12.0/no-demos.patch 765d8c563c164194e2b075eb32f57ef54bbba098
+++ packages/gtk+/gtk+-2.12.0/no-demos.patch 765d8c563c164194e2b075eb32f57ef54bbba098
@@ -0,0 +1,10 @@
+--- gtk+-2.10.1/Makefile.am.orig 2006-08-08 12:37:30.000000000 +0100
++++ gtk+-2.10.1/Makefile.am 2006-08-08 12:37:48.000000000 +0100
+@@ -1,6 +1,6 @@
+ ## Makefile.am for GTK+
+
+-SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
++SRC_SUBDIRS = gdk-pixbuf gdk gtk modules tests perf contrib
+ SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
+
+ # require automake 1.4
============================================================
--- packages/gtk+/gtk+-2.12.0/pangoxft2.10.6.diff c646b9f34fcf6fe7f0ddfef6d3ae66dfe24da0ab
+++ packages/gtk+/gtk+-2.12.0/pangoxft2.10.6.diff c646b9f34fcf6fe7f0ddfef6d3ae66dfe24da0ab
@@ -0,0 +1,2456 @@
+http://mail.gnome.org/archives/performance-list/2006-October/msg00063.html
+
+From: Xan Lópe
+To: ext Matt Hoosier
+Cc: performance-list gnome org
+Subject: Re: [patch] Remove pangocairo from Gtk+ 2.8.20
+Date: Mon, 30 Oct 2006 14:31:56 +0200
+Hi,
+
+I've upgraded your patch against GTK+ 2.10.6, and we are getting great
+performance figures compared to GTK+ 2.10.6 with pangocairo too
+(basically at the level of GTK+ 2.6.10 again). Right now I'm working on
+a python/cairo script to get some nice graphics from a torture test
+session with several GTK+s, hope to get it ready soon.
+
+Index: gtk+-2.10.6/configure.in
+=============================================================%s
>>> DIFF TRUNCATED @ 16K
More information about the Openembedded-commits
mailing list