[arch-commits] Commit in gtk3/trunk (PKGBUILD git-fixes.patch)

Jan de Groot jgc at archlinux.org
Thu Oct 16 07:31:15 UTC 2014


    Date: Thursday, October 16, 2014 @ 09:31:15
  Author: jgc
Revision: 224464

upgpkg: gtk3 3.14.3-2

Added:
  gtk3/trunk/git-fixes.patch
Modified:
  gtk3/trunk/PKGBUILD

-----------------+
 PKGBUILD        |   13 +++++++---
 git-fixes.patch |   68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 78 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2014-10-16 00:39:44 UTC (rev 224463)
+++ PKGBUILD	2014-10-16 07:31:15 UTC (rev 224464)
@@ -4,7 +4,7 @@
 
 pkgname=gtk3
 pkgver=3.14.3
-pkgrel=1
+pkgrel=2
 pkgdesc="GObject-based multi-platform GUI toolkit (v3)"
 arch=(i686 x86_64)
 url="http://www.gtk.org/"
@@ -13,9 +13,16 @@
          libxcomposite libxdamage pango shared-mime-info colord at-spi2-atk wayland libxkbcommon adwaita-icon-theme)
 makedepends=(gobject-introspection python2)
 license=(LGPL)
-source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz)
-sha256sums=('5e8c62b932f4f0384c3c8cbf251f65978bdecde3211bb16e4c2bde5d8b3af72f')
+source=(http://ftp.gnome.org/pub/gnome/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz
+        git-fixes.patch)
+sha256sums=('5e8c62b932f4f0384c3c8cbf251f65978bdecde3211bb16e4c2bde5d8b3af72f'
+            '677ae56bd76121c1aa2efc7cc1cb4c5b9049d53d2ef9ddda0568f5e221886032')
 
+prepare() {
+    cd gtk+-$pkgver
+    patch -Np1 -i ../git-fixes.patch
+}
+
 build() {
     cd "gtk+-$pkgver"
 

Added: git-fixes.patch
===================================================================
--- git-fixes.patch	                        (rev 0)
+++ git-fixes.patch	2014-10-16 07:31:15 UTC (rev 224464)
@@ -0,0 +1,68 @@
+diff --git a/gtk/deprecated/gtktrayicon-x11.c b/gtk/deprecated/gtktrayicon-x11.c
+index 503d64b..bfd6b9d 100644
+--- a/gtk/deprecated/gtktrayicon-x11.c
++++ b/gtk/deprecated/gtktrayicon-x11.c
+@@ -355,6 +355,27 @@ gtk_tray_icon_draw (GtkWidget *widget,
+       cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
+       cairo_paint (cr);
+     }
++  else
++    {
++      GdkRectangle clip;
++
++      if (gdk_cairo_get_clip_rectangle (cr, &clip))
++        {
++          /* Clear to parent-relative pixmap
++           * We need to use direct X access here because GDK doesn't know about
++           * the parent realtive pixmap. */
++          cairo_surface_flush (target);
++
++          XClearArea (GDK_WINDOW_XDISPLAY (window),
++                      GDK_WINDOW_XID (window),
++                      clip.x, clip.y,
++                      clip.width, clip.height,
++                      False);
++          cairo_surface_mark_dirty_rectangle (target, 
++                                              clip.x, clip.y,
++                                              clip.width, clip.height);
++        }
++    }
+ 
+   if (GTK_WIDGET_CLASS (gtk_tray_icon_parent_class)->draw)
+     retval = GTK_WIDGET_CLASS (gtk_tray_icon_parent_class)->draw (widget, cr);
+@@ -480,6 +501,14 @@ gtk_tray_icon_get_visual_property (GtkTrayIcon *icon)
+       icon->priv->manager_visual_rgba = FALSE;
+     }
+ 
++
++G_GNUC_BEGIN_IGNORE_DEPRECATIONS
++  /* For the background-relative hack we use when we aren't
++   * using a real RGBA visual, we can't be double-buffered
++   */
++  gtk_widget_set_double_buffered (GTK_WIDGET (icon), icon->priv->manager_visual_rgba);
++G_GNUC_END_IGNORE_DEPRECATIONS
++
+   if (type != None)
+     XFree (prop.prop);
+ }
+diff --git a/gtk/gtkbox.c b/gtk/gtkbox.c
+index 613b5ae..72f26e9 100644
+--- a/gtk/gtkbox.c
++++ b/gtk/gtkbox.c
+@@ -2619,10 +2619,14 @@ gtk_box_set_center_widget (GtkBox    *box,
+ 
+   g_return_if_fail (GTK_IS_BOX (box));
+ 
++  if (priv->center)
++    {
++      gtk_box_remove (GTK_CONTAINER (box), priv->center->widget);
++      priv->center = NULL;
++    }
++
+   if (widget)
+     priv->center = gtk_box_pack (box, widget, FALSE, TRUE, 0, GTK_PACK_START);
+-  else if (priv->center)
+-    gtk_box_remove (GTK_CONTAINER (box), priv->center->widget);
+ }
+ 
+ /**



More information about the arch-commits mailing list