[arch-commits] Commit in xfdesktop/trunk (2 files)
Evangelos Foutras
foutrelis at nymeria.archlinux.org
Wed Mar 6 02:34:14 UTC 2013
Date: Wednesday, March 6, 2013 @ 03:34:13
Author: foutrelis
Revision: 179525
upgpkg: xfdesktop 4.10.1-2
Fix hang when solid color is selected (FS#34163)
Added:
xfdesktop/trunk/revert-SVG-images-are-no-longer-pixilated-when-scale.patch
Modified:
xfdesktop/trunk/PKGBUILD
------------------------------------------------------------+
PKGBUILD | 12 -
revert-SVG-images-are-no-longer-pixilated-when-scale.patch | 108 +++++++++++
2 files changed, 117 insertions(+), 3 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2013-03-06 00:34:51 UTC (rev 179524)
+++ PKGBUILD 2013-03-06 02:34:13 UTC (rev 179525)
@@ -4,7 +4,7 @@
pkgname=xfdesktop
pkgver=4.10.1
-pkgrel=1
+pkgrel=2
pkgdesc="A desktop manager for Xfce"
arch=('i686' 'x86_64')
url="http://www.xfce.org/"
@@ -16,12 +16,18 @@
replaces=('xfce4-menueditor')
options=('!libtool')
install=xfdesktop.install
-source=(http://archive.xfce.org/src/xfce/$pkgname/4.10/$pkgname-$pkgver.tar.bz2)
-sha256sums=('2883fe381e1b967d179fdf5ece5ac2566a3ffdb94f4cf139c7fb44567f17d4ad')
+source=(http://archive.xfce.org/src/xfce/$pkgname/4.10/$pkgname-$pkgver.tar.bz2
+ revert-SVG-images-are-no-longer-pixilated-when-scale.patch)
+sha256sums=('2883fe381e1b967d179fdf5ece5ac2566a3ffdb94f4cf139c7fb44567f17d4ad'
+ '94274832eede98a7d99652ff90ecabd932b46b0f002c25297ddd6f0c346aa3d0')
build() {
cd "$srcdir/$pkgname-$pkgver"
+ # Fix hang when solid color is selected
+ # https://bugzilla.xfce.org/show_bug.cgi?id=9892
+ patch -Np1 -i "$srcdir/revert-SVG-images-are-no-longer-pixilated-when-scale.patch"
+
./configure \
--prefix=/usr \
--sysconfdir=/etc \
Added: revert-SVG-images-are-no-longer-pixilated-when-scale.patch
===================================================================
--- revert-SVG-images-are-no-longer-pixilated-when-scale.patch (rev 0)
+++ revert-SVG-images-are-no-longer-pixilated-when-scale.patch 2013-03-06 02:34:13 UTC (rev 179525)
@@ -0,0 +1,108 @@
+From 8c868b20f3e19871f3f09e972cd20dbe3640084a Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras <evangelos at foutrelis.com>
+Date: Wed, 6 Mar 2013 04:27:07 +0200
+Subject: [PATCH] Revert "SVG images are no longer pixilated when scaled up"
+
+This reverts commit ebad377e5cd067cec9f2b402dff4991ddc4cc3b5.
+---
+ src/xfce-backdrop.c | 38 +++++++++++++++++---------------------
+ 1 file changed, 17 insertions(+), 21 deletions(-)
+
+diff --git a/src/xfce-backdrop.c b/src/xfce-backdrop.c
+index 9a4d7db..b07492f 100644
+--- a/src/xfce-backdrop.c
++++ b/src/xfce-backdrop.c
+@@ -933,10 +933,17 @@ xfce_backdrop_get_pixbuf(XfceBackdrop *backdrop)
+
+ g_return_val_if_fail(XFCE_IS_BACKDROP(backdrop), NULL);
+
+- if(backdrop->priv->show_image && backdrop->priv->image_path)
+- gdk_pixbuf_get_file_info(backdrop->priv->image_path, &iw, &ih);
+-
++ if(backdrop->priv->show_image && backdrop->priv->image_path) {
++ image = gdk_pixbuf_new_from_file(backdrop->priv->image_path, NULL);
++ if(image) {
++ iw = gdk_pixbuf_get_width(image);
++ ih = gdk_pixbuf_get_height(image);
++ }
++ }
++
+ if(backdrop->priv->width == 0 || backdrop->priv->height == 0) {
++ if(!image)
++ return NULL;
+ w = iw;
+ h = ih;
+ } else {
+@@ -956,9 +963,7 @@ xfce_backdrop_get_pixbuf(XfceBackdrop *backdrop)
+ final_image = create_solid(&backdrop->priv->color1, w, h, FALSE, 0xff);
+ }
+
+- /*check if the file exists,
+- *and if it doesn't then make the background the single colour*/
+- if(!g_file_test(backdrop->priv->image_path, G_FILE_TEST_EXISTS)) {
++ if(!image) {
+ if(backdrop->priv->brightness != 0)
+ final_image = adjust_brightness(final_image, backdrop->priv->brightness);
+
+@@ -996,7 +1001,6 @@ xfce_backdrop_get_pixbuf(XfceBackdrop *backdrop)
+
+ switch(istyle) {
+ case XFCE_BACKDROP_IMAGE_CENTERED:
+- image = gdk_pixbuf_new_from_file(backdrop->priv->image_path, NULL);
+ dx = MAX((w - iw) / 2, 0);
+ dy = MAX((h - ih) / 2, 0);
+ xo = MIN((w - iw) / 2, dx);
+@@ -1007,7 +1011,6 @@ xfce_backdrop_get_pixbuf(XfceBackdrop *backdrop)
+ break;
+
+ case XFCE_BACKDROP_IMAGE_TILED:
+- image = gdk_pixbuf_new_from_file(backdrop->priv->image_path, NULL);
+ tmp = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, w, h);
+ for(i = 0; (i * iw) < w; i++) {
+ for(j = 0; (j * ih) < h; j++) {
+@@ -1030,10 +1033,10 @@ xfce_backdrop_get_pixbuf(XfceBackdrop *backdrop)
+ break;
+
+ case XFCE_BACKDROP_IMAGE_STRETCHED:
+- image = gdk_pixbuf_new_from_file_at_scale(
+- backdrop->priv->image_path, w, h, FALSE, NULL);
++ xscale = (gdouble)w / iw;
++ yscale = (gdouble)h / ih;
+ gdk_pixbuf_composite(image, final_image, 0, 0, w, h,
+- 0, 0, 1, 1, interp, 255);
++ 0, 0, xscale, yscale, interp, 255);
+ break;
+
+ case XFCE_BACKDROP_IMAGE_SCALED:
+@@ -1050,12 +1053,9 @@ xfce_backdrop_get_pixbuf(XfceBackdrop *backdrop)
+ }
+ dx = xo;
+ dy = yo;
+-
+- image = gdk_pixbuf_new_from_file_at_scale(
+- backdrop->priv->image_path, iw * xscale,
+- ih * yscale, TRUE, NULL);
++
+ gdk_pixbuf_composite(image, final_image, dx, dy,
+- iw * xscale, ih * yscale, xo, yo, 1, 1,
++ iw * xscale, ih * yscale, xo, yo, xscale, yscale,
+ interp, 255);
+ break;
+
+@@ -1071,12 +1071,8 @@ xfce_backdrop_get_pixbuf(XfceBackdrop *backdrop)
+ xo = 0;
+ yo = (h - (ih * yscale)) * 0.5;
+ }
+-
+- image = gdk_pixbuf_new_from_file_at_scale(
+- backdrop->priv->image_path, iw * xscale,
+- ih * yscale, TRUE, NULL);
+ gdk_pixbuf_composite(image, final_image, 0, 0,
+- w, h, xo, yo, 1, 1, interp, 255);
++ w, h, xo, yo, xscale, yscale, interp, 255);
+ break;
+
+ default:
+--
+1.8.1.5
+
More information about the arch-commits
mailing list