[arch-commits] Commit in gtk3/repos (16 files)

Evangelos Foutras foutrelis at archlinux.org
Sun Apr 12 20:49:44 UTC 2015


    Date: Sunday, April 12, 2015 @ 22:49:44
  Author: foutrelis
Revision: 236321

archrelease: copy trunk to extra-i686, extra-x86_64

Added:
  gtk3/repos/extra-i686/0001-Revert-image-Optimize-non-resize-changes.patch
    (from rev 236320, gtk3/trunk/0001-Revert-image-Optimize-non-resize-changes.patch)
  gtk3/repos/extra-i686/0001-x11-Relax-requirements-for-setting-ParentRelative.patch
    (from rev 236320, gtk3/trunk/0001-x11-Relax-requirements-for-setting-ParentRelative.patch)
  gtk3/repos/extra-i686/PKGBUILD
    (from rev 236320, gtk3/trunk/PKGBUILD)
  gtk3/repos/extra-i686/gtk3.install
    (from rev 236320, gtk3/trunk/gtk3.install)
  gtk3/repos/extra-i686/settings.ini
    (from rev 236320, gtk3/trunk/settings.ini)
  gtk3/repos/extra-x86_64/0001-Revert-image-Optimize-non-resize-changes.patch
    (from rev 236320, gtk3/trunk/0001-Revert-image-Optimize-non-resize-changes.patch)
  gtk3/repos/extra-x86_64/0001-x11-Relax-requirements-for-setting-ParentRelative.patch
    (from rev 236320, gtk3/trunk/0001-x11-Relax-requirements-for-setting-ParentRelative.patch)
  gtk3/repos/extra-x86_64/PKGBUILD
    (from rev 236320, gtk3/trunk/PKGBUILD)
  gtk3/repos/extra-x86_64/gtk3.install
    (from rev 236320, gtk3/trunk/gtk3.install)
  gtk3/repos/extra-x86_64/settings.ini
    (from rev 236320, gtk3/trunk/settings.ini)
Deleted:
  gtk3/repos/extra-i686/PKGBUILD
  gtk3/repos/extra-i686/gtk3.install
  gtk3/repos/extra-i686/settings.ini
  gtk3/repos/extra-x86_64/PKGBUILD
  gtk3/repos/extra-x86_64/gtk3.install
  gtk3/repos/extra-x86_64/settings.ini

---------------------------------------------------------------------------+
 /PKGBUILD                                                                 |  116 ++++
 /gtk3.install                                                             |   36 +
 /settings.ini                                                             |    8 
 extra-i686/0001-Revert-image-Optimize-non-resize-changes.patch            |  233 ++++++++++
 extra-i686/0001-x11-Relax-requirements-for-setting-ParentRelative.patch   |   42 +
 extra-i686/PKGBUILD                                                       |   45 -
 extra-i686/gtk3.install                                                   |   18 
 extra-i686/settings.ini                                                   |    4 
 extra-x86_64/0001-Revert-image-Optimize-non-resize-changes.patch          |  233 ++++++++++
 extra-x86_64/0001-x11-Relax-requirements-for-setting-ParentRelative.patch |   42 +
 extra-x86_64/PKGBUILD                                                     |   45 -
 extra-x86_64/gtk3.install                                                 |   18 
 extra-x86_64/settings.ini                                                 |    4 
 13 files changed, 710 insertions(+), 134 deletions(-)

Copied: gtk3/repos/extra-i686/0001-Revert-image-Optimize-non-resize-changes.patch (from rev 236320, gtk3/trunk/0001-Revert-image-Optimize-non-resize-changes.patch)
===================================================================
--- extra-i686/0001-Revert-image-Optimize-non-resize-changes.patch	                        (rev 0)
+++ extra-i686/0001-Revert-image-Optimize-non-resize-changes.patch	2015-04-12 20:49:44 UTC (rev 236321)
@@ -0,0 +1,233 @@
+From 7963f689296ad06dff0e0d426bd9324de1dec7aa Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen at redhat.com>
+Date: Wed, 8 Apr 2015 14:18:08 -0400
+Subject: [PATCH] Revert "image: Optimize non-resize changes"
+
+This reverts commit fef7d65685a3a45a47f968cab6b5e5150323f606.
+
+We're still seeing regressions from this, see
+http://bugzilla.redhat.com/show_bug.cgi?id=1208183
+---
+ gtk/gtkimage.c | 107 +++++++++------------------------------------------------
+ 1 file changed, 17 insertions(+), 90 deletions(-)
+
+diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c
+index d501aef..5763f06 100644
+--- a/gtk/gtkimage.c
++++ b/gtk/gtkimage.c
+@@ -155,9 +155,6 @@ static void gtk_image_size_allocate        (GtkWidget    *widget,
+ static void gtk_image_unmap                (GtkWidget    *widget);
+ static void gtk_image_realize              (GtkWidget    *widget);
+ static void gtk_image_unrealize            (GtkWidget    *widget);
+-static void gtk_image_get_preferred_size   (GtkImage     *image,
+-                                            gint         *width_out,
+-                                            gint         *height_out);
+ static void gtk_image_get_preferred_width  (GtkWidget    *widget,
+                                             gint         *minimum,
+                                             gint         *natural);
+@@ -937,8 +934,8 @@ gtk_image_set_from_file   (GtkImage    *image,
+   priv = image->priv;
+ 
+   g_object_freeze_notify (G_OBJECT (image));
+-
+-  gtk_image_reset (image);
++  
++  gtk_image_clear (image);
+ 
+   if (filename == NULL)
+     {
+@@ -951,7 +948,9 @@ gtk_image_set_from_file   (GtkImage    *image,
+ 
+   if (anim == NULL)
+     {
+-      gtk_image_set_from_icon_name (image, "image-missing", DEFAULT_ICON_SIZE);
++      gtk_image_set_from_icon_name (image,
++                                    "image-missing",
++                                    DEFAULT_ICON_SIZE);
+       g_object_thaw_notify (G_OBJECT (image));
+       return;
+     }
+@@ -972,21 +971,7 @@ gtk_image_set_from_file   (GtkImage    *image,
+   g_object_unref (anim);
+ 
+   priv->filename = g_strdup (filename);
+-
+-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
+-    {
+-      gint width, height;
+-
+-      gtk_image_get_preferred_size (image, &width, &height);
+-      if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
+-          height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
+-        gtk_widget_queue_resize (GTK_WIDGET (image));
+-      else
+-        gtk_widget_queue_draw (GTK_WIDGET (image));
+-    }
+-
+-  g_object_notify (G_OBJECT (image), "file");
+-
++  
+   g_object_thaw_notify (G_OBJECT (image));
+ }
+ 
+@@ -1023,7 +1008,9 @@ gtk_image_set_from_resource (GtkImage    *image,
+ 
+   if (animation == NULL)
+     {
+-      gtk_image_set_from_icon_name (image, "image-missing", DEFAULT_ICON_SIZE);
++      gtk_image_set_from_icon_name (image,
++                                    "image-missing",
++                                    DEFAULT_ICON_SIZE);
+       g_object_thaw_notify (G_OBJECT (image));
+       return;
+     }
+@@ -1059,29 +1046,18 @@ gtk_image_set_from_pixbuf (GtkImage  *image,
+   GtkImagePrivate *priv;
+ 
+   g_return_if_fail (GTK_IS_IMAGE (image));
+-  g_return_if_fail (pixbuf == NULL || GDK_IS_PIXBUF (pixbuf));
++  g_return_if_fail (pixbuf == NULL ||
++                    GDK_IS_PIXBUF (pixbuf));
+ 
+   priv = image->priv;
+ 
+   g_object_freeze_notify (G_OBJECT (image));
+-
+-  gtk_image_reset (image);
++  
++  gtk_image_clear (image);
+ 
+   if (pixbuf != NULL)
+     _gtk_icon_helper_set_pixbuf (priv->icon_helper, pixbuf);
+ 
+-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
+-    {
+-      gint width, height;
+-
+-      gtk_image_get_preferred_size (image, &width, &height);
+-      if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
+-          height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
+-        gtk_widget_queue_resize (GTK_WIDGET (image));
+-      else
+-        gtk_widget_queue_draw (GTK_WIDGET (image));
+-    }
+-
+   g_object_notify (G_OBJECT (image), "pixbuf");
+   
+   g_object_thaw_notify (G_OBJECT (image));
+@@ -1195,7 +1171,7 @@ gtk_image_set_from_animation (GtkImage           *image,
+   if (animation)
+     g_object_ref (animation);
+ 
+-  gtk_image_reset (image);
++  gtk_image_clear (image);
+ 
+   if (animation != NULL)
+     {
+@@ -1203,18 +1179,6 @@ gtk_image_set_from_animation (GtkImage           *image,
+       g_object_unref (animation);
+     }
+ 
+-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
+-    {
+-      gint width, height;
+-
+-      gtk_image_get_preferred_size (image, &width, &height);
+-      if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
+-          height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
+-        gtk_widget_queue_resize (GTK_WIDGET (image));
+-      else
+-        gtk_widget_queue_draw (GTK_WIDGET (image));
+-    }
+-
+   g_object_notify (G_OBJECT (image), "pixbuf-animation");
+   
+   g_object_thaw_notify (G_OBJECT (image));
+@@ -1245,8 +1209,7 @@ gtk_image_set_from_icon_name  (GtkImage       *image,
+   g_object_freeze_notify (G_OBJECT (image));
+ 
+   new_name = g_strdup (icon_name);
+-
+-  gtk_image_reset (image);
++  gtk_image_clear (image);
+ 
+   if (new_name)
+     {
+@@ -1254,18 +1217,6 @@ gtk_image_set_from_icon_name  (GtkImage       *image,
+       g_free (new_name);
+     }
+ 
+-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
+-    {
+-      gint width, height;
+-
+-      gtk_image_get_preferred_size (image, &width, &height);
+-      if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
+-          height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
+-        gtk_widget_queue_resize (GTK_WIDGET (image));
+-      else
+-        gtk_widget_queue_draw (GTK_WIDGET (image));
+-    }
+-
+   g_object_notify (G_OBJECT (image), "icon-name");
+   g_object_notify (G_OBJECT (image), "icon-size");
+   
+@@ -1298,7 +1249,7 @@ gtk_image_set_from_gicon  (GtkImage       *image,
+   if (icon)
+     g_object_ref (icon);
+ 
+-  gtk_image_reset (image);
++  gtk_image_clear (image);
+ 
+   if (icon)
+     {
+@@ -1306,18 +1257,6 @@ gtk_image_set_from_gicon  (GtkImage       *image,
+       g_object_unref (icon);
+     }
+ 
+-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
+-    {
+-      gint width, height;
+-
+-      gtk_image_get_preferred_size (image, &width, &height);
+-      if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
+-          height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
+-        gtk_widget_queue_resize (GTK_WIDGET (image));
+-      else
+-        gtk_widget_queue_draw (GTK_WIDGET (image));
+-    }
+-
+   g_object_notify (G_OBJECT (image), "gicon");
+   g_object_notify (G_OBJECT (image), "icon-size");
+   
+@@ -1348,7 +1287,7 @@ gtk_image_set_from_surface (GtkImage       *image,
+   if (surface)
+     cairo_surface_reference (surface);
+ 
+-  gtk_image_reset (image);
++  gtk_image_clear (image);
+ 
+   if (surface)
+     {
+@@ -1356,18 +1295,6 @@ gtk_image_set_from_surface (GtkImage       *image,
+       cairo_surface_destroy (surface);
+     }
+ 
+-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
+-    {
+-      gint width, height;
+-
+-      gtk_image_get_preferred_size (image, &width, &height);
+-      if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
+-          height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
+-        gtk_widget_queue_resize (GTK_WIDGET (image));
+-      else
+-        gtk_widget_queue_draw (GTK_WIDGET (image));
+-    }
+-
+   g_object_notify (G_OBJECT (image), "surface");
+   
+   g_object_thaw_notify (G_OBJECT (image));
+-- 
+2.3.5
+

Copied: gtk3/repos/extra-i686/0001-x11-Relax-requirements-for-setting-ParentRelative.patch (from rev 236320, gtk3/trunk/0001-x11-Relax-requirements-for-setting-ParentRelative.patch)
===================================================================
--- extra-i686/0001-x11-Relax-requirements-for-setting-ParentRelative.patch	                        (rev 0)
+++ extra-i686/0001-x11-Relax-requirements-for-setting-ParentRelative.patch	2015-04-12 20:49:44 UTC (rev 236321)
@@ -0,0 +1,42 @@
+From d1dfc28b21319530ebaad40dfdb1b10bdc527b50 Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras <evangelos at foutrelis.com>
+Date: Sat, 11 Apr 2015 11:20:56 +0300
+Subject: [PATCH] x11: Relax requirements for setting ParentRelative
+
+XSetWindowBackgroundPixmap() will throw BadMatch only in the case of a
+different parent window depth. Different visuals are fine and actually
+expected in Gtk+ 3.16 (since we don't stick to the system default visual
+but try to pick a better one).
+
+https://bugzilla.gnome.org/show_bug.cgi?id=747524
+---
+ gdk/x11/gdkwindow-x11.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
+index 25b5e2b..1ace677 100644
+--- a/gdk/x11/gdkwindow-x11.c
++++ b/gdk/x11/gdkwindow-x11.c
+@@ -2963,15 +2963,15 @@ gdk_window_x11_set_background (GdkWindow      *window,
+     {
+       GdkWindow *parent;
+ 
+-      /* X throws BadMatch if the parent has a different visual when
++      /* X throws BadMatch if the parent has a different depth when
+        * using ParentRelative */
+       parent = gdk_window_get_parent (window);
+-      if (parent && gdk_window_get_visual (parent) == gdk_window_get_visual (window))
++      if (parent && window->depth != parent->depth)
+         XSetWindowBackgroundPixmap (GDK_WINDOW_XDISPLAY (window),
+-                                    GDK_WINDOW_XID (window), ParentRelative);
++                                    GDK_WINDOW_XID (window), None);
+       else
+         XSetWindowBackgroundPixmap (GDK_WINDOW_XDISPLAY (window),
+-                                    GDK_WINDOW_XID (window), None);
++                                    GDK_WINDOW_XID (window), ParentRelative);
+       return;
+     }
+ 
+-- 
+2.3.5
+

Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD	2015-04-12 20:49:24 UTC (rev 236320)
+++ extra-i686/PKGBUILD	2015-04-12 20:49:44 UTC (rev 236321)
@@ -1,45 +0,0 @@
-# $Id$
-# Maintainer: Ionut Biru <ibiru at archlinux.org>
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
-
-pkgname=gtk3
-pkgver=3.16.1
-pkgrel=1
-pkgdesc="GObject-based multi-platform GUI toolkit (v3)"
-arch=(i686 x86_64)
-url="http://www.gtk.org/"
-install=gtk3.install
-depends=(atk cairo gtk-update-icon-cache libcups libxcursor libxinerama libxrandr libxi libepoxy
-         libxcomposite libxdamage pango shared-mime-info colord at-spi2-atk wayland libxkbcommon
-         adwaita-icon-theme json-glib rest)
-makedepends=(gobject-introspection)
-license=(LGPL)
-source=(https://download.gnome.org/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz)
-sha256sums=('9f9716a8c7f8dc149f767718e25fed41984b504a00fd0919b1a4969ca2e4db31')
-
-prepare() {
-    cd gtk+-$pkgver
-}
-
-build() {
-    cd "gtk+-$pkgver"
-
-    CXX=/bin/false ./configure --prefix=/usr \
-        --sysconfdir=/etc \
-        --localstatedir=/var \
-        --disable-schemas-compile \
-        --enable-x11-backend \
-        --enable-broadway-backend \
-        --enable-wayland-backend
-
-    #https://bugzilla.gnome.org/show_bug.cgi?id=655517
-    sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
-
-    make
-}
-
-package() {
-    cd "gtk+-$pkgver"
-    make DESTDIR="$pkgdir" install
-    rm -f "$pkgdir/usr/bin/gtk-update-icon-cache"
-}

Copied: gtk3/repos/extra-i686/PKGBUILD (from rev 236320, gtk3/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD	                        (rev 0)
+++ extra-i686/PKGBUILD	2015-04-12 20:49:44 UTC (rev 236321)
@@ -0,0 +1,58 @@
+# $Id$
+# Maintainer: Ionut Biru <ibiru at archlinux.org>
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
+
+pkgname=gtk3
+pkgver=3.16.1
+pkgrel=2
+pkgdesc="GObject-based multi-platform GUI toolkit (v3)"
+arch=(i686 x86_64)
+url="http://www.gtk.org/"
+install=gtk3.install
+depends=(atk cairo gtk-update-icon-cache libcups libxcursor libxinerama libxrandr libxi libepoxy
+         libxcomposite libxdamage pango shared-mime-info colord at-spi2-atk wayland libxkbcommon
+         adwaita-icon-theme json-glib rest)
+makedepends=(gobject-introspection)
+license=(LGPL)
+source=(https://download.gnome.org/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz
+        0001-Revert-image-Optimize-non-resize-changes.patch
+        0001-x11-Relax-requirements-for-setting-ParentRelative.patch)
+sha256sums=('9f9716a8c7f8dc149f767718e25fed41984b504a00fd0919b1a4969ca2e4db31'
+            '4e21dd47f520f7a4c5143f34b208c0a24f0bf620d5409d45dbe2901bfa7d5e9a'
+            '94ec473293946e45217ed35e9518c45771bf28f1007962bb749e21906bf0201b')
+
+prepare() {
+    cd gtk+-$pkgver
+
+    # revert commit that causes nm-applet to fail to load
+    # https://bugzilla.redhat.com/show_bug.cgi?id=1208183
+    patch -Np1 -i ../0001-Revert-image-Optimize-non-resize-changes.patch
+
+    # fix transparency setting for status icons on Xfce
+    # patch not yet upstream but it should get accepted
+    # https://bugzilla.gnome.org/show_bug.cgi?id=747524
+    patch -Np1 -i ../0001-x11-Relax-requirements-for-setting-ParentRelative.patch
+}
+
+build() {
+    cd "gtk+-$pkgver"
+
+    CXX=/bin/false ./configure --prefix=/usr \
+        --sysconfdir=/etc \
+        --localstatedir=/var \
+        --disable-schemas-compile \
+        --enable-x11-backend \
+        --enable-broadway-backend \
+        --enable-wayland-backend
+
+    #https://bugzilla.gnome.org/show_bug.cgi?id=655517
+    sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+    make
+}
+
+package() {
+    cd "gtk+-$pkgver"
+    make DESTDIR="$pkgdir" install
+    rm -f "$pkgdir/usr/bin/gtk-update-icon-cache"
+}

Deleted: extra-i686/gtk3.install
===================================================================
--- extra-i686/gtk3.install	2015-04-12 20:49:24 UTC (rev 236320)
+++ extra-i686/gtk3.install	2015-04-12 20:49:44 UTC (rev 236321)
@@ -1,18 +0,0 @@
-post_install() {
-    /usr/bin/gtk-query-immodules-3.0 --update-cache
-    /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
-    /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
-}
-
-post_upgrade() {
-    post_install
-}
-
-pre_remove() {
-    rm -f /usr/lib/gtk-3.0/3.0.0/immodules.cache
-}
-
-post_remove() {
-    /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
-    /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
-}

Copied: gtk3/repos/extra-i686/gtk3.install (from rev 236320, gtk3/trunk/gtk3.install)
===================================================================
--- extra-i686/gtk3.install	                        (rev 0)
+++ extra-i686/gtk3.install	2015-04-12 20:49:44 UTC (rev 236321)
@@ -0,0 +1,18 @@
+post_install() {
+    /usr/bin/gtk-query-immodules-3.0 --update-cache
+    /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
+    /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+    post_install
+}
+
+pre_remove() {
+    rm -f /usr/lib/gtk-3.0/3.0.0/immodules.cache
+}
+
+post_remove() {
+    /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
+    /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}

Deleted: extra-i686/settings.ini
===================================================================
--- extra-i686/settings.ini	2015-04-12 20:49:24 UTC (rev 236320)
+++ extra-i686/settings.ini	2015-04-12 20:49:44 UTC (rev 236321)
@@ -1,4 +0,0 @@
-[Settings]
-gtk-icon-theme-name = gnome
-gtk-theme-name = Adwaita
-gtk-font-name = Cantarell 11

Copied: gtk3/repos/extra-i686/settings.ini (from rev 236320, gtk3/trunk/settings.ini)
===================================================================
--- extra-i686/settings.ini	                        (rev 0)
+++ extra-i686/settings.ini	2015-04-12 20:49:44 UTC (rev 236321)
@@ -0,0 +1,4 @@
+[Settings]
+gtk-icon-theme-name = gnome
+gtk-theme-name = Adwaita
+gtk-font-name = Cantarell 11

Copied: gtk3/repos/extra-x86_64/0001-Revert-image-Optimize-non-resize-changes.patch (from rev 236320, gtk3/trunk/0001-Revert-image-Optimize-non-resize-changes.patch)
===================================================================
--- extra-x86_64/0001-Revert-image-Optimize-non-resize-changes.patch	                        (rev 0)
+++ extra-x86_64/0001-Revert-image-Optimize-non-resize-changes.patch	2015-04-12 20:49:44 UTC (rev 236321)
@@ -0,0 +1,233 @@
+From 7963f689296ad06dff0e0d426bd9324de1dec7aa Mon Sep 17 00:00:00 2001
+From: Matthias Clasen <mclasen at redhat.com>
+Date: Wed, 8 Apr 2015 14:18:08 -0400
+Subject: [PATCH] Revert "image: Optimize non-resize changes"
+
+This reverts commit fef7d65685a3a45a47f968cab6b5e5150323f606.
+
+We're still seeing regressions from this, see
+http://bugzilla.redhat.com/show_bug.cgi?id=1208183
+---
+ gtk/gtkimage.c | 107 +++++++++------------------------------------------------
+ 1 file changed, 17 insertions(+), 90 deletions(-)
+
+diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c
+index d501aef..5763f06 100644
+--- a/gtk/gtkimage.c
++++ b/gtk/gtkimage.c
+@@ -155,9 +155,6 @@ static void gtk_image_size_allocate        (GtkWidget    *widget,
+ static void gtk_image_unmap                (GtkWidget    *widget);
+ static void gtk_image_realize              (GtkWidget    *widget);
+ static void gtk_image_unrealize            (GtkWidget    *widget);
+-static void gtk_image_get_preferred_size   (GtkImage     *image,
+-                                            gint         *width_out,
+-                                            gint         *height_out);
+ static void gtk_image_get_preferred_width  (GtkWidget    *widget,
+                                             gint         *minimum,
+                                             gint         *natural);
+@@ -937,8 +934,8 @@ gtk_image_set_from_file   (GtkImage    *image,
+   priv = image->priv;
+ 
+   g_object_freeze_notify (G_OBJECT (image));
+-
+-  gtk_image_reset (image);
++  
++  gtk_image_clear (image);
+ 
+   if (filename == NULL)
+     {
+@@ -951,7 +948,9 @@ gtk_image_set_from_file   (GtkImage    *image,
+ 
+   if (anim == NULL)
+     {
+-      gtk_image_set_from_icon_name (image, "image-missing", DEFAULT_ICON_SIZE);
++      gtk_image_set_from_icon_name (image,
++                                    "image-missing",
++                                    DEFAULT_ICON_SIZE);
+       g_object_thaw_notify (G_OBJECT (image));
+       return;
+     }
+@@ -972,21 +971,7 @@ gtk_image_set_from_file   (GtkImage    *image,
+   g_object_unref (anim);
+ 
+   priv->filename = g_strdup (filename);
+-
+-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
+-    {
+-      gint width, height;
+-
+-      gtk_image_get_preferred_size (image, &width, &height);
+-      if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
+-          height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
+-        gtk_widget_queue_resize (GTK_WIDGET (image));
+-      else
+-        gtk_widget_queue_draw (GTK_WIDGET (image));
+-    }
+-
+-  g_object_notify (G_OBJECT (image), "file");
+-
++  
+   g_object_thaw_notify (G_OBJECT (image));
+ }
+ 
+@@ -1023,7 +1008,9 @@ gtk_image_set_from_resource (GtkImage    *image,
+ 
+   if (animation == NULL)
+     {
+-      gtk_image_set_from_icon_name (image, "image-missing", DEFAULT_ICON_SIZE);
++      gtk_image_set_from_icon_name (image,
++                                    "image-missing",
++                                    DEFAULT_ICON_SIZE);
+       g_object_thaw_notify (G_OBJECT (image));
+       return;
+     }
+@@ -1059,29 +1046,18 @@ gtk_image_set_from_pixbuf (GtkImage  *image,
+   GtkImagePrivate *priv;
+ 
+   g_return_if_fail (GTK_IS_IMAGE (image));
+-  g_return_if_fail (pixbuf == NULL || GDK_IS_PIXBUF (pixbuf));
++  g_return_if_fail (pixbuf == NULL ||
++                    GDK_IS_PIXBUF (pixbuf));
+ 
+   priv = image->priv;
+ 
+   g_object_freeze_notify (G_OBJECT (image));
+-
+-  gtk_image_reset (image);
++  
++  gtk_image_clear (image);
+ 
+   if (pixbuf != NULL)
+     _gtk_icon_helper_set_pixbuf (priv->icon_helper, pixbuf);
+ 
+-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
+-    {
+-      gint width, height;
+-
+-      gtk_image_get_preferred_size (image, &width, &height);
+-      if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
+-          height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
+-        gtk_widget_queue_resize (GTK_WIDGET (image));
+-      else
+-        gtk_widget_queue_draw (GTK_WIDGET (image));
+-    }
+-
+   g_object_notify (G_OBJECT (image), "pixbuf");
+   
+   g_object_thaw_notify (G_OBJECT (image));
+@@ -1195,7 +1171,7 @@ gtk_image_set_from_animation (GtkImage           *image,
+   if (animation)
+     g_object_ref (animation);
+ 
+-  gtk_image_reset (image);
++  gtk_image_clear (image);
+ 
+   if (animation != NULL)
+     {
+@@ -1203,18 +1179,6 @@ gtk_image_set_from_animation (GtkImage           *image,
+       g_object_unref (animation);
+     }
+ 
+-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
+-    {
+-      gint width, height;
+-
+-      gtk_image_get_preferred_size (image, &width, &height);
+-      if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
+-          height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
+-        gtk_widget_queue_resize (GTK_WIDGET (image));
+-      else
+-        gtk_widget_queue_draw (GTK_WIDGET (image));
+-    }
+-
+   g_object_notify (G_OBJECT (image), "pixbuf-animation");
+   
+   g_object_thaw_notify (G_OBJECT (image));
+@@ -1245,8 +1209,7 @@ gtk_image_set_from_icon_name  (GtkImage       *image,
+   g_object_freeze_notify (G_OBJECT (image));
+ 
+   new_name = g_strdup (icon_name);
+-
+-  gtk_image_reset (image);
++  gtk_image_clear (image);
+ 
+   if (new_name)
+     {
+@@ -1254,18 +1217,6 @@ gtk_image_set_from_icon_name  (GtkImage       *image,
+       g_free (new_name);
+     }
+ 
+-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
+-    {
+-      gint width, height;
+-
+-      gtk_image_get_preferred_size (image, &width, &height);
+-      if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
+-          height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
+-        gtk_widget_queue_resize (GTK_WIDGET (image));
+-      else
+-        gtk_widget_queue_draw (GTK_WIDGET (image));
+-    }
+-
+   g_object_notify (G_OBJECT (image), "icon-name");
+   g_object_notify (G_OBJECT (image), "icon-size");
+   
+@@ -1298,7 +1249,7 @@ gtk_image_set_from_gicon  (GtkImage       *image,
+   if (icon)
+     g_object_ref (icon);
+ 
+-  gtk_image_reset (image);
++  gtk_image_clear (image);
+ 
+   if (icon)
+     {
+@@ -1306,18 +1257,6 @@ gtk_image_set_from_gicon  (GtkImage       *image,
+       g_object_unref (icon);
+     }
+ 
+-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
+-    {
+-      gint width, height;
+-
+-      gtk_image_get_preferred_size (image, &width, &height);
+-      if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
+-          height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
+-        gtk_widget_queue_resize (GTK_WIDGET (image));
+-      else
+-        gtk_widget_queue_draw (GTK_WIDGET (image));
+-    }
+-
+   g_object_notify (G_OBJECT (image), "gicon");
+   g_object_notify (G_OBJECT (image), "icon-size");
+   
+@@ -1348,7 +1287,7 @@ gtk_image_set_from_surface (GtkImage       *image,
+   if (surface)
+     cairo_surface_reference (surface);
+ 
+-  gtk_image_reset (image);
++  gtk_image_clear (image);
+ 
+   if (surface)
+     {
+@@ -1356,18 +1295,6 @@ gtk_image_set_from_surface (GtkImage       *image,
+       cairo_surface_destroy (surface);
+     }
+ 
+-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
+-    {
+-      gint width, height;
+-
+-      gtk_image_get_preferred_size (image, &width, &height);
+-      if (width != gtk_widget_get_allocated_width (GTK_WIDGET (image)) ||
+-          height != gtk_widget_get_allocated_height (GTK_WIDGET (image)))
+-        gtk_widget_queue_resize (GTK_WIDGET (image));
+-      else
+-        gtk_widget_queue_draw (GTK_WIDGET (image));
+-    }
+-
+   g_object_notify (G_OBJECT (image), "surface");
+   
+   g_object_thaw_notify (G_OBJECT (image));
+-- 
+2.3.5
+

Copied: gtk3/repos/extra-x86_64/0001-x11-Relax-requirements-for-setting-ParentRelative.patch (from rev 236320, gtk3/trunk/0001-x11-Relax-requirements-for-setting-ParentRelative.patch)
===================================================================
--- extra-x86_64/0001-x11-Relax-requirements-for-setting-ParentRelative.patch	                        (rev 0)
+++ extra-x86_64/0001-x11-Relax-requirements-for-setting-ParentRelative.patch	2015-04-12 20:49:44 UTC (rev 236321)
@@ -0,0 +1,42 @@
+From d1dfc28b21319530ebaad40dfdb1b10bdc527b50 Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras <evangelos at foutrelis.com>
+Date: Sat, 11 Apr 2015 11:20:56 +0300
+Subject: [PATCH] x11: Relax requirements for setting ParentRelative
+
+XSetWindowBackgroundPixmap() will throw BadMatch only in the case of a
+different parent window depth. Different visuals are fine and actually
+expected in Gtk+ 3.16 (since we don't stick to the system default visual
+but try to pick a better one).
+
+https://bugzilla.gnome.org/show_bug.cgi?id=747524
+---
+ gdk/x11/gdkwindow-x11.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
+index 25b5e2b..1ace677 100644
+--- a/gdk/x11/gdkwindow-x11.c
++++ b/gdk/x11/gdkwindow-x11.c
+@@ -2963,15 +2963,15 @@ gdk_window_x11_set_background (GdkWindow      *window,
+     {
+       GdkWindow *parent;
+ 
+-      /* X throws BadMatch if the parent has a different visual when
++      /* X throws BadMatch if the parent has a different depth when
+        * using ParentRelative */
+       parent = gdk_window_get_parent (window);
+-      if (parent && gdk_window_get_visual (parent) == gdk_window_get_visual (window))
++      if (parent && window->depth != parent->depth)
+         XSetWindowBackgroundPixmap (GDK_WINDOW_XDISPLAY (window),
+-                                    GDK_WINDOW_XID (window), ParentRelative);
++                                    GDK_WINDOW_XID (window), None);
+       else
+         XSetWindowBackgroundPixmap (GDK_WINDOW_XDISPLAY (window),
+-                                    GDK_WINDOW_XID (window), None);
++                                    GDK_WINDOW_XID (window), ParentRelative);
+       return;
+     }
+ 
+-- 
+2.3.5
+

Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD	2015-04-12 20:49:24 UTC (rev 236320)
+++ extra-x86_64/PKGBUILD	2015-04-12 20:49:44 UTC (rev 236321)
@@ -1,45 +0,0 @@
-# $Id$
-# Maintainer: Ionut Biru <ibiru at archlinux.org>
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
-
-pkgname=gtk3
-pkgver=3.16.1
-pkgrel=1
-pkgdesc="GObject-based multi-platform GUI toolkit (v3)"
-arch=(i686 x86_64)
-url="http://www.gtk.org/"
-install=gtk3.install
-depends=(atk cairo gtk-update-icon-cache libcups libxcursor libxinerama libxrandr libxi libepoxy
-         libxcomposite libxdamage pango shared-mime-info colord at-spi2-atk wayland libxkbcommon
-         adwaita-icon-theme json-glib rest)
-makedepends=(gobject-introspection)
-license=(LGPL)
-source=(https://download.gnome.org/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz)
-sha256sums=('9f9716a8c7f8dc149f767718e25fed41984b504a00fd0919b1a4969ca2e4db31')
-
-prepare() {
-    cd gtk+-$pkgver
-}
-
-build() {
-    cd "gtk+-$pkgver"
-
-    CXX=/bin/false ./configure --prefix=/usr \
-        --sysconfdir=/etc \
-        --localstatedir=/var \
-        --disable-schemas-compile \
-        --enable-x11-backend \
-        --enable-broadway-backend \
-        --enable-wayland-backend
-
-    #https://bugzilla.gnome.org/show_bug.cgi?id=655517
-    sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
-
-    make
-}
-
-package() {
-    cd "gtk+-$pkgver"
-    make DESTDIR="$pkgdir" install
-    rm -f "$pkgdir/usr/bin/gtk-update-icon-cache"
-}

Copied: gtk3/repos/extra-x86_64/PKGBUILD (from rev 236320, gtk3/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD	                        (rev 0)
+++ extra-x86_64/PKGBUILD	2015-04-12 20:49:44 UTC (rev 236321)
@@ -0,0 +1,58 @@
+# $Id$
+# Maintainer: Ionut Biru <ibiru at archlinux.org>
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
+
+pkgname=gtk3
+pkgver=3.16.1
+pkgrel=2
+pkgdesc="GObject-based multi-platform GUI toolkit (v3)"
+arch=(i686 x86_64)
+url="http://www.gtk.org/"
+install=gtk3.install
+depends=(atk cairo gtk-update-icon-cache libcups libxcursor libxinerama libxrandr libxi libepoxy
+         libxcomposite libxdamage pango shared-mime-info colord at-spi2-atk wayland libxkbcommon
+         adwaita-icon-theme json-glib rest)
+makedepends=(gobject-introspection)
+license=(LGPL)
+source=(https://download.gnome.org/sources/gtk+/${pkgver:0:4}/gtk+-$pkgver.tar.xz
+        0001-Revert-image-Optimize-non-resize-changes.patch
+        0001-x11-Relax-requirements-for-setting-ParentRelative.patch)
+sha256sums=('9f9716a8c7f8dc149f767718e25fed41984b504a00fd0919b1a4969ca2e4db31'
+            '4e21dd47f520f7a4c5143f34b208c0a24f0bf620d5409d45dbe2901bfa7d5e9a'
+            '94ec473293946e45217ed35e9518c45771bf28f1007962bb749e21906bf0201b')
+
+prepare() {
+    cd gtk+-$pkgver
+
+    # revert commit that causes nm-applet to fail to load
+    # https://bugzilla.redhat.com/show_bug.cgi?id=1208183
+    patch -Np1 -i ../0001-Revert-image-Optimize-non-resize-changes.patch
+
+    # fix transparency setting for status icons on Xfce
+    # patch not yet upstream but it should get accepted
+    # https://bugzilla.gnome.org/show_bug.cgi?id=747524
+    patch -Np1 -i ../0001-x11-Relax-requirements-for-setting-ParentRelative.patch
+}
+
+build() {
+    cd "gtk+-$pkgver"
+
+    CXX=/bin/false ./configure --prefix=/usr \
+        --sysconfdir=/etc \
+        --localstatedir=/var \
+        --disable-schemas-compile \
+        --enable-x11-backend \
+        --enable-broadway-backend \
+        --enable-wayland-backend
+
+    #https://bugzilla.gnome.org/show_bug.cgi?id=655517
+    sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+    make
+}
+
+package() {
+    cd "gtk+-$pkgver"
+    make DESTDIR="$pkgdir" install
+    rm -f "$pkgdir/usr/bin/gtk-update-icon-cache"
+}

Deleted: extra-x86_64/gtk3.install
===================================================================
--- extra-x86_64/gtk3.install	2015-04-12 20:49:24 UTC (rev 236320)
+++ extra-x86_64/gtk3.install	2015-04-12 20:49:44 UTC (rev 236321)
@@ -1,18 +0,0 @@
-post_install() {
-    /usr/bin/gtk-query-immodules-3.0 --update-cache
-    /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
-    /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
-}
-
-post_upgrade() {
-    post_install
-}
-
-pre_remove() {
-    rm -f /usr/lib/gtk-3.0/3.0.0/immodules.cache
-}
-
-post_remove() {
-    /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
-    /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
-}

Copied: gtk3/repos/extra-x86_64/gtk3.install (from rev 236320, gtk3/trunk/gtk3.install)
===================================================================
--- extra-x86_64/gtk3.install	                        (rev 0)
+++ extra-x86_64/gtk3.install	2015-04-12 20:49:44 UTC (rev 236321)
@@ -0,0 +1,18 @@
+post_install() {
+    /usr/bin/gtk-query-immodules-3.0 --update-cache
+    /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
+    /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}
+
+post_upgrade() {
+    post_install
+}
+
+pre_remove() {
+    rm -f /usr/lib/gtk-3.0/3.0.0/immodules.cache
+}
+
+post_remove() {
+    /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
+    /usr/bin/gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+}

Deleted: extra-x86_64/settings.ini
===================================================================
--- extra-x86_64/settings.ini	2015-04-12 20:49:24 UTC (rev 236320)
+++ extra-x86_64/settings.ini	2015-04-12 20:49:44 UTC (rev 236321)
@@ -1,4 +0,0 @@
-[Settings]
-gtk-icon-theme-name = gnome
-gtk-theme-name = Adwaita
-gtk-font-name = Cantarell 11

Copied: gtk3/repos/extra-x86_64/settings.ini (from rev 236320, gtk3/trunk/settings.ini)
===================================================================
--- extra-x86_64/settings.ini	                        (rev 0)
+++ extra-x86_64/settings.ini	2015-04-12 20:49:44 UTC (rev 236321)
@@ -0,0 +1,4 @@
+[Settings]
+gtk-icon-theme-name = gnome
+gtk-theme-name = Adwaita
+gtk-font-name = Cantarell 11



More information about the arch-commits mailing list