You are not logged in.

#1 2016-12-14 19:45:45

acottrell
Member
Registered: 2013-12-17
Posts: 37

[SOLVED] gdk-pixbuf2-2.36.1+9+gb1fbea9-1-x86_64 breaks xfdesktop?

The most recent pacman update gave me gdk-pixbuf2-2.36.1+9+gb1fbea9-1-x86_64
and this appears to break one aspect of xfdesktop. I have my desktop set to show a
vertical color gradient. With the new gdk-pixbuf I'm just getting a solid color, and
looking in ~/.xsession-errors I see a message from xfdesktop saying it's "unable
to create color gradient" due to corrupt pixel data.

After downgrading to gdk-pixbuf2-2.36.0+2+ga7c869a-3 the color gradient works
again.

Last edited by acottrell (2016-12-18 17:08:54)

Offline

#2 2016-12-14 21:48:47

acottrell
Member
Registered: 2013-12-17
Posts: 37

Re: [SOLVED] gdk-pixbuf2-2.36.1+9+gb1fbea9-1-x86_64 breaks xfdesktop?

A little more detail in case it helps.

Arch (including Xfce) is fully updated as of today, so xfdesktop is version
4.12.3, linked with GTK+ 2.24.31. The exact message in .xsession-errors is

** (xfdesktop:<PID>): WARNING **: xfdesktop: Unable to create
color gradient: Image pixel data corrupt

Under Xfce's /Settings/Desktop/Background I have:
Style: None
Color: Vertical gradient
with from/to values of #1E3E4E and #5E97B2.

Offline

#3 2016-12-15 00:25:46

toz
Member
Registered: 2011-10-28
Posts: 497

Re: [SOLVED] gdk-pixbuf2-2.36.1+9+gb1fbea9-1-x86_64 breaks xfdesktop?

xfdesktop uses gdk_pixbuf_from_pixdata() to generate the gradient. It would appear the gdk-pixbuf2 removed this functionality in the latest release. Here is the gdk-pixbuf2 bug report that led to it's removal (it appears that hexchat is similarly affected).

I guess at this point in time you can either create a bug report upstream against gdk-pixbuf2 (or tie into the hexchat one) and ask that the re-instate this functionality, and/or create a bug report over at Xfce's bug tracker so that the xfdesktop code can be refactored.

Offline

#4 2016-12-15 14:54:09

acottrell
Member
Registered: 2013-12-17
Posts: 37

Re: [SOLVED] gdk-pixbuf2-2.36.1+9+gb1fbea9-1-x86_64 breaks xfdesktop?

Thanks for the helpful pointers. However, I don't think your diagnosis is quite right.
The Arch gdk-pixbuf2 package that I'm referring to is not based on the current
gdp-pixbuf release (2.36.1) but rather is cherry-picked from the git source. I've
tried the experiment of building a package from the 2.36.1 release and that works
fine with xfdesktop. In case anyone's interested the relevant files are at
http://users.wfu.edu/cottrell/tmp/gdk-pixbuf2/ .

Related question: Is there a way to name my package so that it will be taken by
pacman to be "more recent" than the current git-based offering? I know I can
cut gdk-pixbuf2 out of pacman updates using /etc/pacman.conf but I'd prefer
not to do that if there's a workable alternative.

Offline

#5 2016-12-15 15:10:36

JohnBobSmith
Member
From: Canada
Registered: 2014-11-29
Posts: 804

Re: [SOLVED] gdk-pixbuf2-2.36.1+9+gb1fbea9-1-x86_64 breaks xfdesktop?

If your package and the git version conflict, is it possible to simply not install the offending one?? One can also ignore the upgrade in the pacman.conf. If you don't want to do this, then perhaps faking a new version would work. If you are installing  your version with PKGBUILD/pacman, try setting the version string to something higher than the version of your package in the repos. So you would have custom-pixbuf2.36.1-1 or something of the sorts. Then, since your package would, from what I can tell, provide pixbuf, you would add that line too. This should make your package "newer" than the git-based one. And since this provides the dependency, it should no longer conflict/download erroneously. I would expect this possible solution to generate warnings from pacman (package is newer than base or something like that), but those can be ignored.


I am diagnosed with bipolar disorder. As it turns out, what I thought was my greatest weakness is now my greatest strength.

Everyday, I make a conscious choice to overcome my challenges and my problems. It's not easy, but its better than the alternative...

Offline

#6 2016-12-15 15:14:05

SneakySnake
Member
Registered: 2012-03-30
Posts: 21

Re: [SOLVED] gdk-pixbuf2-2.36.1+9+gb1fbea9-1-x86_64 breaks xfdesktop?

acottrell wrote:

I've tried the experiment of building a package from the 2.36.1 release and that works fine with xfdesktop.
In case anyone's interested the relevant files are at http://users.wfu.edu/cottrell/tmp/gdk-pixbuf2/

In that case, the hexchat problem and this seem like two different issues.
I tried your package, and hexchat still fails to load its icon.

EDIT: The hexchat issue was fixed upstream.

Last edited by SneakySnake (2016-12-19 13:12:58)

Offline

#7 2016-12-15 17:06:31

acottrell
Member
Registered: 2013-12-17
Posts: 37

Re: [SOLVED] gdk-pixbuf2-2.36.1+9+gb1fbea9-1-x86_64 breaks xfdesktop?

Having looked at the gdk-pixbuf git sources, I can say that the breakage of xfdesktop's
color-gradient mechanism is due to a single git commit since the 2.36.1 release, viz.
9ae4723ec3fa631354e3d201c5435a7385c33d45, which patches gdk-pixdata.c with the
intent of preventing a buffer overflow. It seems to me this patch is buggy. I'll see about
filing a report.

Offline

#8 2016-12-15 17:20:07

acottrell
Member
Registered: 2013-12-17
Posts: 37

Re: [SOLVED] gdk-pixbuf2-2.36.1+9+gb1fbea9-1-x86_64 breaks xfdesktop?

Offline

#9 2016-12-15 17:28:44

toz
Member
Registered: 2011-10-28
Posts: 497

Re: [SOLVED] gdk-pixbuf2-2.36.1+9+gb1fbea9-1-x86_64 breaks xfdesktop?

Thanks for locating the problem commit.

Offline

#10 2016-12-18 17:10:41

acottrell
Member
Registered: 2013-12-17
Posts: 37

Re: [SOLVED] gdk-pixbuf2-2.36.1+9+gb1fbea9-1-x86_64 breaks xfdesktop?

This problem is now fixed in gdk-pixbuf git, and in the 2.36.1+27+g5dcc1b8da-1
Arch package for gdk-pixbuf2.

Offline

Board footer

Powered by FluxBB